Etirer fonction recherchev sur VBA
Fermé
laura_92
-
20 avril 2015 à 14:12
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 avril 2015 à 14:48
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 20 avril 2015 à 14:48
2 réponses
Bruce Willix
Messages postés
11968
Date d'inscription
mardi 24 mai 2011
Statut
Contributeur
Dernière intervention
12 juin 2018
2 590
20 avril 2015 à 14:15
20 avril 2015 à 14:15
Bonjour,
Le VBA c'est du code. On ne peut pas "étirer", il faut passer par des boucles, ou des IF/THEN, WHILE/DO etc...
Que veux tu faire ? Recopier ta formule de vlookup autant de fois qu'il y a d'éléments à chercher ?
Le VBA c'est du code. On ne peut pas "étirer", il faut passer par des boucles, ou des IF/THEN, WHILE/DO etc...
Que veux tu faire ? Recopier ta formule de vlookup autant de fois qu'il y a d'éléments à chercher ?
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 14:30
20 avril 2015 à 14:30
Bonjour,
Simplement :
Simplement :
Sub Macro4() Dim DernLigne As Long DernLigne = Range("G" & Rows.Count).End(xlUp).Row Range("G2:G" & DernLigne).FormulaR1C1 = "=VLOOKUP(RC[-6],Feuil2!R6C5:R26C16,7,FALSE)" End Sub
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 14:44
20 avril 2015 à 14:44
Pour que ça fonctionne, il faut que la colonne G ne soit pas vide !
si elle est vide, elle ne peut pas servir à mesurer la dimension du tableau avec DernLigne = Range("G" & Rows.Count).End(xlUp).Row
si elle est vide, elle ne peut pas servir à mesurer la dimension du tableau avec DernLigne = Range("G" & Rows.Count).End(xlUp).Row
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 avril 2015 à 14:48
20 avril 2015 à 14:48
PS : si tu as #NA en G1 la formule à été appliquée de G1 à G2 et donc ça fonctionne !
20 avril 2015 à 14:21
Le code marche et me donne bien le résultat que je cherche.
Je voudrais appliquer la meme formule pour toutes les lignes en dessous. C'est ce que j'ai essayé de faire avec " Range("G2").AutoFill Destination:=Range("G2:G" & DernLigne) "
Mais apparement je ne m'y prends pas correctement ...
Merci d'avane !!