Incrémentation
AP976
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
AP976 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
AP976 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite passer d'une case à l'autre en descendant dans la même colonne en "glissant" les cellules. Ceci en ajoutant +2 à la ligne source entre chaque case.
Autrement dit, j'aimerais une formule qui me permet de passer de:
=CONCATENER(NB.SI(JAN!$G$9:$BR$9;"BVS0600W01");"/";SI(JAN!$O9="";"";1)+SI(JAN!$AC9="";"";1)+SI(JAN!$AQ9="";"";1)+SI(JAN!$BF9="";"";1))
en case B2, à:
=CONCATENER(NB.SI(JAN!$G$11:$BR$11;"BVS0600W01");"/";SI(JAN!$O11="";"";1)+SI(JAN!$AC11="";"";1)+SI(JAN!$AQ11="";"";1)+SI(JAN!$BF11="";"";1))
en case B3.
C'est donc incrémenter suivant la colonne B de la feuille 1 de mon classeur en sélectionnant comme source la ligne 9 de la feuille JAN pour la case B2 de la feuille 1 puis la ligne 11 de la feuille Jan pour la case B3 de la feuille 1.
Je reste à votre disposition
Cordialement
Bonne journée
Je souhaite passer d'une case à l'autre en descendant dans la même colonne en "glissant" les cellules. Ceci en ajoutant +2 à la ligne source entre chaque case.
Autrement dit, j'aimerais une formule qui me permet de passer de:
=CONCATENER(NB.SI(JAN!$G$9:$BR$9;"BVS0600W01");"/";SI(JAN!$O9="";"";1)+SI(JAN!$AC9="";"";1)+SI(JAN!$AQ9="";"";1)+SI(JAN!$BF9="";"";1))
en case B2, à:
=CONCATENER(NB.SI(JAN!$G$11:$BR$11;"BVS0600W01");"/";SI(JAN!$O11="";"";1)+SI(JAN!$AC11="";"";1)+SI(JAN!$AQ11="";"";1)+SI(JAN!$BF11="";"";1))
en case B3.
C'est donc incrémenter suivant la colonne B de la feuille 1 de mon classeur en sélectionnant comme source la ligne 9 de la feuille JAN pour la case B2 de la feuille 1 puis la ligne 11 de la feuille Jan pour la case B3 de la feuille 1.
Je reste à votre disposition
Cordialement
Bonne journée
2 réponses
Bonjour
Il faut recomposer une adresse avec INDIRECT ce qui donne :
=CONCATENER(NB.SI(INDIRECT("JAN!G"&2*LIGNE()+5&":BR"&2*LIGNE()+5);"BVS0600W01");"/";SI(INDIRECT("JAN!$O"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AC"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AQ"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$BF"&2*LIGNE()+5)="";0;1))
Attention dans les vrais de tes SI tu ne dois pas avoir "" mais 0 sinon la somme donne l'erreur #VALEUR si un SI renvoie ""
Cdlmnt
Via
Il faut recomposer une adresse avec INDIRECT ce qui donne :
=CONCATENER(NB.SI(INDIRECT("JAN!G"&2*LIGNE()+5&":BR"&2*LIGNE()+5);"BVS0600W01");"/";SI(INDIRECT("JAN!$O"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AC"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$AQ"&2*LIGNE()+5)="";0;1)+SI(INDIRECT("JAN!$BF"&2*LIGNE()+5)="";0;1))
Attention dans les vrais de tes SI tu ne dois pas avoir "" mais 0 sinon la somme donne l'erreur #VALEUR si un SI renvoie ""
Cdlmnt
Via
La fonction INDIRECT reconstitue une adresse valide par concaténation
Par exemple INDIRECT("JAN!G"& A1 &":BR"& A1) reconstitue l'adresse JAN!G3:BR3 si il y a 3 en A1
Dans ton cas il faut compliquer un peu car en ligne 2 de ton tableau il faut avoir 9 dans la formule, en ligne 3 il faut avoir 11, en ligne 4 il faut avoir 13
un peu de maths (résolution d'un système d'équation) permet de trouver que le nombre dans la formule est égal à ligne*2 auquel on ajoute 5 :
2*2+5=9
3*2+5=11 etc
d'où le & 2*LIGNE()+5 dans la formule
Cdlmnt
Via
Par exemple INDIRECT("JAN!G"& A1 &":BR"& A1) reconstitue l'adresse JAN!G3:BR3 si il y a 3 en A1
Dans ton cas il faut compliquer un peu car en ligne 2 de ton tableau il faut avoir 9 dans la formule, en ligne 3 il faut avoir 11, en ligne 4 il faut avoir 13
un peu de maths (résolution d'un système d'équation) permet de trouver que le nombre dans la formule est égal à ligne*2 auquel on ajoute 5 :
2*2+5=9
3*2+5=11 etc
d'où le & 2*LIGNE()+5 dans la formule
Cdlmnt
Via
Merci
Oui je comprends pour le 0 à la place de "".
Concernant, la formule INDIRECT, je ne comprends pas comment elle fonctionne, pourriez-vous m'expliquer s'il vous plaît? Notamment pourquoi +5?
Merci d'avance
Cordialement
Arrivé à 100 itérations, cela m'afffiche 0/0.
Je ne vois pas où modifier pour changer cela.
Cordialement