Convertir une formule Excel en code vba
Résolu
HM
-
HM_1234 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
HM_1234 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Plutôt novice en VBA , j'aimerai automatiser un fichier mais je bloque sur une partie.
J'ai une formule Excel (Matricielle)sur toute une colonne, que je voudrais convertir en code.
En C3
'=IFERROR(LEFT(IF(A3="","",IFERROR(INDEX($A3:$A$100,SMALL(IF($B2:$B$100=$B2,ROW($A3:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C6
'=IFERROR(LEFT(IF(A6="","",IFERROR(INDEX($A6:$A$100,SMALL(IF($B5:$B$100=$B5,ROW($A6:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C9
=IFERROR(LEFT(IF(A9="","",IFERROR(INDEX($A9:$A$100,SMALL(IF($B8:$B$100=$B8,ROW($A9:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C12
'=IFERROR(LEFT(IF(A12="","",IFERROR(INDEX($A12:$A$100,SMALL(IF($B11:$B$100=$B11,ROW($A12:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
,...
Dans la colonne "B" j’ai deux valeurs possible LM1_ ou LM_2
A partir de la 1er valeur de la colonne B, ici B3 = « LM_1 », j’aimerai recherche la 1er valeur suivante = à B3 (1er valeur = LM_1 se trouve en B9) et renvoyer en C3 la valeur de la cellule A9
A9 = 97066595. Je dois donc retrouver en A3 la valeur 97066595.
Ensuite passer à B6. Si B6 = LM_2, ke recherche la 1er valeur de la colonne B = LM_2, elle se trouve en B15, je renvoie en C6 la valeur de A15. A15 = 219738 donc C6 doit être = à A15
Et ainsi de suite.
B9 = LM_1 prochaine valeur = à LM_1 est en B12, valeur à renvoyer en C9 (275029) = A12(275029).
B12 = LM_1 prochaine valeur = à LM_1 est en B18, valeur à renvoyer en C12(318071) = A18(318071).
B15 = LM_2 prochaine valeur = à LM_2 est en B45, valeur à renvoyer en C15(5659) = A45(5659).
Et ainsi de suite, ...
Merci pour votre aide.
HM
Plutôt novice en VBA , j'aimerai automatiser un fichier mais je bloque sur une partie.
J'ai une formule Excel (Matricielle)sur toute une colonne, que je voudrais convertir en code.
En C3
'=IFERROR(LEFT(IF(A3="","",IFERROR(INDEX($A3:$A$100,SMALL(IF($B2:$B$100=$B2,ROW($A3:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C6
'=IFERROR(LEFT(IF(A6="","",IFERROR(INDEX($A6:$A$100,SMALL(IF($B5:$B$100=$B5,ROW($A6:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C9
=IFERROR(LEFT(IF(A9="","",IFERROR(INDEX($A9:$A$100,SMALL(IF($B8:$B$100=$B8,ROW($A9:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
En C12
'=IFERROR(LEFT(IF(A12="","",IFERROR(INDEX($A12:$A$100,SMALL(IF($B11:$B$100=$B11,ROW($A12:$A$100)-(ROW()-1)),2)),"Inconnue")),12),"")
,...
Dans la colonne "B" j’ai deux valeurs possible LM1_ ou LM_2
A partir de la 1er valeur de la colonne B, ici B3 = « LM_1 », j’aimerai recherche la 1er valeur suivante = à B3 (1er valeur = LM_1 se trouve en B9) et renvoyer en C3 la valeur de la cellule A9
A9 = 97066595. Je dois donc retrouver en A3 la valeur 97066595.
Ensuite passer à B6. Si B6 = LM_2, ke recherche la 1er valeur de la colonne B = LM_2, elle se trouve en B15, je renvoie en C6 la valeur de A15. A15 = 219738 donc C6 doit être = à A15
Et ainsi de suite.
B9 = LM_1 prochaine valeur = à LM_1 est en B12, valeur à renvoyer en C9 (275029) = A12(275029).
B12 = LM_1 prochaine valeur = à LM_1 est en B18, valeur à renvoyer en C12(318071) = A18(318071).
B15 = LM_2 prochaine valeur = à LM_2 est en B45, valeur à renvoyer en C15(5659) = A45(5659).
Et ainsi de suite, ...
Merci pour votre aide.
HM
A voir également:
- Convertir formule excel en vba
- Formule si et excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel colonne - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, c'est chaque fois un peu plus simple et plus fiable à faire si on peut se baser sur un fichier exemple.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
je propose ceci:
Bonjour,
je suis nouveau sur le site. Je ne trouve pas le moyen d’insérer le fichier. Peut-être pourriez-vous m'aider.
Je viens de tester le code. Il ne se passe rien.
Merci
hm
je suis nouveau sur le site. Je ne trouve pas le moyen d’insérer le fichier. Peut-être pourriez-vous m'aider.
Je viens de tester le code. Il ne se passe rien.
Merci
hm