Débutant en VBA, aide fonction similaire rechercheV

olivier147

XLDnaute Nouveau
Bonjour à tous,

J'essaye tant bien que mal à trouver la solution avec les forums mais je patoge...

Je commence à me mettre gentiement au VBA mais je me perds assez rapidement.

Je voudrais utiliser le VBA pour remplacer la fonction rechercheV

Dans mon cas, je souhaite rechercher la valeur des cellules de la colonne G de ma feuille 1 en les comparant avec les valeurs des cellules de la colonne A de ma feuille 2, cette correspondances me renverrait le résultat de la colonne E de la feuille 2 dans la colonne M de ma feuille 1.

Pas simple à expliquer avec des mots

Grossièrement avec la formule rechercheV ça donnerait ça: =RECHERCHEV(G2;'Feuil2'!A:E;5;FAUX)

Merci d'avance pour votre aide
 

olivier147

XLDnaute Nouveau
Re : Débutant en VBA, aide fonction similaire rechercheV

Oui effectivement ça fonctionne bien merci, je ne pensais pas qu'il pouvait me retranscrire les formules en VBA.
Pour ce qui est de l'arrêt du calcul lorsqu'il n'y a plus de cellules pleines, je suis preneur si tu as un début de solution ;)
 

olivier147

XLDnaute Nouveau
Re : Débutant en VBA, aide fonction similaire rechercheV

Le problème par contre c'est qu'il me créé une ligne par calcul, je recherche plutot un code style calcul en boucle jusqu'à une cellule vide....parceque des lignes je peux en avoir des milliers
 

olivier147

XLDnaute Nouveau
Re : Débutant en VBA, aide fonction similaire rechercheV

Pour ma première ligne de calcul avec l'enregistrement de la macrop j'obtiens ceci :

Range("M2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],'Requête Ing'!C[-12]:C[-8],5,FALSE)"
Range("M3").Select

C'est pas mal mais ceci dit des lignes j'en ai des milliers, il va donc me générer ce code pour chacunes des lignes.
 

Pierrot93

XLDnaute Barbatruc
Re : Débutant en VBA, aide fonction similaire rechercheV

Re,

essaye ceci, attention se base sur la colonne A pour déterminer la dernière ligne, à adapter en modifiant le "1" du "cells"

Code:
Range("M2:M" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaR1C1 = "=VLOOKUP(RC[-6],'Requête Ing'!C[-12]:C[-8],5,FALSE)"
 

Pierrot93

XLDnaute Barbatruc
Re : Débutant en VBA, aide fonction similaire rechercheV

Re,

pour supprimer les formules et ne garder que les valeurs sur la feuille de calcul :
Code:
With Range("M2:M" & Cells(Rows.Count, 1).End(xlUp).Row)
    .FormulaR1C1 = "=VLOOKUP(RC[-6],'Requête Ing'!C[-12]:C[-8],5,FALSE)"
    .Value = .Value
End With
 

olivier147

XLDnaute Nouveau
Re : Débutant en VBA, aide fonction similaire rechercheV

Bonjour Pierrot,

Peut être vas tu pouvoir encore m'aider.

Je bloque sur un truc tout bête.

J'ai défini un nom à chacune de mes colonne pour éviter de devoir modifier mon VBA à chaques fois que j'insére une nouvelle colonne.
Par éxemple avec pour sélectionner la cellule "A3", j'écrivais ceci : Range("A3").Select
Maintenant je voudrais lui dire de sélectionner la troisième ligne de ma plage que j'ai nommé "couleur"


Pourrais tu m'aider stp

Merci
 

Statistiques des forums

Discussions
312 208
Messages
2 086 257
Membres
103 167
dernier inscrit
miriame