Bonjour à tous,
Voilà mon défis, j'ai mis en place une formule (avec des recherchev, fonction si, concatener, stxt) qui marche.
Vu que je suis débutant en vba, j'ai bidouillé quelque chose (voir ci-dessous) en enregistrant une macro dans laquelle j'ai utilisé la formule sur la feuille et étirée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SI(RECHERCHEV($B23;CONVERT!$1:$1048576;10;FAUX)="CDR";"MAILLING000DTRCDR";SI(RECHERCHEV($B23;CONVERT!$1:$1048576;10;FAUX)="SND";"MAILLING000DTRSND";SI(RECHERCHEV($B23;CONVERT!$1:$1048576;10;FAUX)="ELE";"MAILLING000DTRELE";SI(RECHERCHEV($B23;CONVERT!$1:$1048576;10;FAUX)="FTV";"MAILLING000FTV";CONCATENER(STXT(RECHERCHEV(B23;CONVERT!$1:$1048576;5;FAUX);1;8);RECHERCHEV($B23;CONVERT!$1:$1048576;16;FAUX);RECHERCHEV($B23;CONVERT!$1:$1048576;17;FAUX);"DTR";RECHERCHEV($B23;CONVERT!$1:$1048576;10;FAUX))))))
Je veux que cette formule s'applique à partir de la cellule C23 jusqu'à C200.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Range("C23").Select ActiveCell.FormulaR1C1 = _ "=IF(VLOOKUP(RC2,CONVERT!R1:R1048576,10,FALSE)=""CDR"",""MAILLING000DTRCDR"",IF(VLOOKUP(RC2,CONVERT!R1:R1048576,10,FALSE)=""SND"",""MAILLING000DTRSND"",IF(VLOOKUP(RC2,CONVERT!R1:R1048576,10,FALSE)=""ELE"",""MAILLING000DTRELE"",IF(VLOOKUP(RC2,CONVERT!R1:R1048576,10,FALSE)=""FTV"",""MAILLING000FTV"",CONCATENATE(MID(VLOOKUP(RC[-1],CONVERT!R1:R1048576,5,FALSE),1,8),VLOOK" & _ "ONVERT!R1:R1048576,16,FALSE),VLOOKUP(RC2,CONVERT!R1:R1048576,17,FALSE),""DTR"",VLOOKUP(RC2,CONVERT!R1:R1048576,10,FALSE))))))" Range("C23").Select Selection.AutoFill Destination:=Range("C23:C200"), Type:=xlFillDefault Range("C23:C200").Select
Pouvez-vous réussir à programmer cette fonction?
nb: Fichier avec la macro dans "MAJ Classeur1.xls" -> MAJ Classeur1.xls
Merci par avance de votre aide
Partager