|
|
|
|
Configuration: Windows XP Internet Explorer 6.0
Salut
Sans macro, je propose ça =DECALER(B1;EQUIV(A1;B2:B4;0);EQUIV(A2;C1:E1;0)) |
Merci d'avoir répondu ! Mais a priori je ne pense pas que ça pourra régler mon problème... Je pense qu'il faut bien passer par une macro.
J'ai bien essayé d'en faire une, par rapport à mon problème simplifié du dessus : ActiveCell.FormulaR1C1 = "=R3C1" Range("A1").Select ActiveCell.FormulaR1C1 = "=R[1]C[1]" Range("A2").Select ActiveCell.FormulaR1C1 = "=R[-1]C[2]" Range("C2").Select Selection.Copy Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False End Sub Elle fonctionne bien quand je suis en cellule C2 (elle donne bien 1+1=2), mais ça ne peut pas fonctionner pour le reste, puisque la formule qui va dans la cellule A1 est relative à A1, alors que je voudrais qu'elle soit relative à ma cellule de départ... En fait je voudrais : - Je suis dans la cellule de départ. - Je pose que cette cellule = A3. - Je pose que A1=LC2 et A2=L1C . Et donc le problème est ici, il faudrait que la formule du A1 et A2 soit relative par rapport à la cellule de départ, or elle calcule par rapport à elle-même... Alala je suis nuuuuuul... |
"Pourquoi faire simple quand on peut faire compliqué ?"
Si je m'en tiens strictement à l'explication et à l'exemple de ton post initial, il suffit de donner à la ligne 1:1 le nom "ABS" et à la colonne B:B le nom "ORD". La formule à mettre dans les 9 cellules C2 à E6 est =ABS+ORD. Vérifie : ça marche, et on ne saurait faire ni plus simple, ni plus fiable. D'une manière générale, on a toujours intérêt à donner un nom aux cellules, lignes, colonnes et zones qui seront utilisées dans des formules. C'est bien, la retraite ! Surtout aux Antilles ... :-) Raymond |
Résultats pour Excel, tableau double entrée, macros
Résultats pour Excel, tableau double entrée, macros
Résultats pour Excel, tableau double entrée, macros
Résultats pour Excel, tableau double entrée, macros