Monsieur Excel
Pour tout savoir faire sur Excel !

09 octobre 2018

Modèle de facturation (f)

Pour commence, reprenons l’idée de l’index(equiv()) proposée pour la cellule B29 dans l’article précédent et appliquons-la aux cellules D27 et D28, afin d’en garder une trace. Cela nous donne en D27 la formule suivante :
=index($D$5:$D$17;equiv(A27;$A$5:$A$17;0))

Et nous allons maintenant vous proposer un nouveau challenge : essayez d’entrer en B29 une formule qui fonctionne bien entendu en B29 mais aussi telle que l’on puisse la copier en D29 et qu’elle fonctionne aussitôt sans que l’on aie à changer quoi que ce soit. Essayez donc de résoudre ce problème avant de lire la suite…

Une formule plus universelle

L’idée de faire une formule qui fonctionne dans les deux colonnes est un bon exemple de ce que l’on peut faire quand on est un bon développeur Excel. Quand on utiliser ainsi une formule pour deux colonnes, on va deux fois plus vite et – contrairement à ce que conseille la sagesse populaire – avec deux fois plus de sécurité. En effet, une formule représente un risque d’erreur alors que deux formules représentent deux risques d’erreur. Donc, dans ce genre de situation, avec Excel, on va en même temps deux fois plus vite et deux fois plus sûrement !

Pour résoudre ce problème, il faut utiliser à bon escient la touche [Ctrl] lors de la création de la formule, pour mettre les « $ » là où il le faut. Il faut aussi, pour atteindre notre objectif, connaître la fonction colonne().

Dans une formule, colonne() renvoie le numéro de la colonne active. Mais on peut aussi utiliser une adresse en argument : colonne(D5) donnera ainsi un résultat de 4, le numéro de colonne de D5. Si l’argument de colonne() correspond à un bloc de cellules, le résultat de la fonction sera le numéro de la première colonne du bloc.

Voici donc la formule attendue en B29 : =recherchev($A29;$A$5:$D$17;colonne();faux).

Nous pouvons à présent copier cette formule jusqu’en B31, puis la coller aussi en D29:D31. Il ne reste plus qu’à donner la même couleur de fond à D29:D31 et à D29:D31 pour montrer que ces formules sont les mêmes.

Pour G27, nous avons la simple formule =F27*D27 qu’il suffit de recopier jusqu’à la ligne 31.

Cela fonctionne aussi parfaitement. Voici donc une photo de notre écran après ces opérations :