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   -
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

2 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
1
AP976 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour via55,

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
0
AP976 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour via55,

Arrivé à 100 itérations, cela m'afffiche 0/0.
Je ne vois pas où modifier pour changer cela.

Cordialement
0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
1
AP976 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord, merci, ça m'éclaircit
0