Remplacer une macro avec "si" par une macro avec boucle...

Résolu/Fermé
Jdg - 19 juin 2013 à 20:28
 Jdg - 19 juin 2013 à 20:59
Bonjour,

Dans une de mes cellules sous excel j'aimerai ajouter directement une fonction avec des "si imbriqué grâce" à une macro. Mais le nombre de "si imbriqué" semble être un problème (cf ci-dessous).

Peut-être qu'une macro avec une boucle pourrait résoudre mon soucis ???

**********************
Ce qu'il y a dans la cellule :

=SI(ESTVIDE(BB11);BE11;
SI(ESTVIDE(BB12);BE12;
SI(ESTVIDE(BB13);BE13;
SI(ESTVIDE(BB14);BE14;
SI(ESTVIDE(BB15);BE15;
SI(ESTVIDE(BB16);BE16;
SI(ESTVIDE(BB17);BE17;
SI(ESTVIDE(BB18);BE18;
SI(ESTVIDE(BB19);BE19;
SI(ESTVIDE(BB20);BE20;
SI(ESTVIDE(BB21);BE21;
SI(ESTVIDE(BB22);BE22;
SI(ESTVIDE(BB23);BE23;
SI(ESTVIDE(BB24);BE24;
SI(ESTVIDE(BB25);BE25;
SI(ESTVIDE(BB26);BE26;
SI(ESTVIDE(BB27);BE27;
SI(ESTVIDE(BB28);BE28;
SI(ESTVIDE(BB29);BE29;
SI(ESTVIDE(BB30);BE30;
SI(ESTVIDE(BB31);BE31;
SI(ESTVIDE(BB32);BE32;
SI(ESTVIDE(BB33);BE33;
SI(ESTVIDE(BB34);BE34;
SI(ESTVIDE(BB35);BE35;
SI(ESTVIDE(BB36);BE36:
SI(ESTVIDE(BB37);BE37;
SI(ESTVIDE(BB38);BE38;
SI(ESTVIDE(BB39);BE39;
SI(ESTVIDE(BB40);BE40;
SI(ESTVIDE(BB41);BE41;
SI(ESTVIDE(BB42);BE42
))))))))))))))))))))))))))))))))

******************************
La macro qui fonctionne pas :


Sub Macro1()
'
' Macro1 Macro
'

'
Range("Z4").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISBLANK(R[7]C[28]),R[7]C[31]," & Chr(10) & "IF(ISBLANK(R[8]C[28]),R[8]C[31]," & Chr(10) & "IF(ISBLANK(R[9]C[28]),R[9]C[31]," & Chr(10) & "IF(ISBLANK(R[10]C[28]),R[10]C[31]," & Chr(10) & "IF(ISBLANK(R[11]C[28]),R[11]C[31]," & Chr(10) & "IF(ISBLANK(R[12]C[28]),R[12]C[31]," & Chr(10) & "IF(ISBLANK(R[13]C[28]),R[13]C[31]," & Chr(10) & "IF(ISBLANK(R[14]C[28]),R[14]C[31]," & Chr(10) & "IF(ISBLANK(R[15]C[28]),R[15]C[31]," & Chr(10) & "IF(ISBLANK(R[16]C[28]),R[16]C[31]," & Chr(10) & "IF(ISBLANK(R[17]C[28]),R[17]C[31]," & Chr(10) & "IF(ISBLANK(R[18]C[28]),R[18]C[31]," & Chr(10) & "IF(ISBLANK(R[19]C[28]),R[19]C[31]," & Chr(10) & "IF(ISBLANK(R[20]C[28]),R[20]C[31]," & Chr(10) & "IF(ISBLANK(R[21]C[28]),R[21]C[31]," & Chr(10) & "IF(ISBLANK(R[22]C[28]),R[22]C[31]," & Chr(10) & "IF(ISBLANK(R[23]C[28]),R[23]C[31]," & Chr(10) & "IF(ISBLANK(R[24]C[28]),R[24]C[31]," & Chr(10) & "IF(ISBLANK(R[25]C[28]),R[25]C[31]," & Chr(10) & "IF(ISBLANK(R[26]C[28]),R[26]C[31]," & Chr(10) & "IF(ISBLANK(R[27]C[28]),R[27]C[31]," & C
[31],"&chr(10)&"IF(ISBLANK(R[30]C[28]),R[30]C[31],"&chr(10)&"IF(ISBLANK(R[31]C[28]),R[31]C[31],"&chr(10)&"IF(ISBLANK(R[32]C[28]),R[32]C[31]"&chr(10)&":"&chr(10)&"IF(ISBLANK(R[33]C[28]),R[33]C[31],"&chr(10)&"IF(ISBLANK(R[34]C[28]),R[34]C[31],"&chr(10)&"IF(ISBLANK(R[35]C[28]),R[35]C[31],"&chr(10)&"IF(ISBLANK(R[36]C[28]),R[36]C[31],"&chr(10)&"IF(ISBLANK(R[37]C[28]),R[37]C[31],"&chr(10)&"IF(ISBLANK(R[38]C[28]),R[38]C[31]"&chr(10)&"))))))))))))))))))))))))))))))))"
Range("Z5").Select
End Sub

******************************

Si quelqu'un à une idée :-)


A voir également:

1 réponse

Je crois que j'ai trouvé finalement :

=RECHERCHE(9^9;BE11:BE41)

************************************************
Pour info : Dernière valeur d'une colonne :

Dernière valeur numérique de la colonne A : =RECHERCHE(9^9;A:A)

Dernière valeur alpha de la colonne A : =RECHERCHE("z";A:A)

Adapter A:A pour une recherche dans une autre colonne.
0