chris6999
XLDnaute Impliqué
Bonjour
J'ai récupéré une macro de type "rechercheV" que j'essaye d'adapter à mon cas mais ne comprenant pas exactement comment fonctionne le code, j'ai un peu de mal.
Je souhaiterais dans ma feuille "Données brutes", à partir de la ligne 3, incrémenter la colonne G si la valeur dans F (non vide) est présente dans la colonne 1 de ma feuille "Base données".
-Renvoyer alors dans G la valeur de la colonne 2 de "Base données".
-Puis à la suite avec les mêmes condition, renvoyer dans H la valeur de la colonne 8 de "Base données".
Sauf que quand je lance la macro TEST, la valeur ne s'incrémente pas en G comme attendu mais dans la colonne B!
Il doit y avoir un petit truc à modifier qq part mais je ne sais pas où...
Merci de me dire si vous voyez où est la coquille
Cordialement
Sub MACRO()
Dim shSource As Worksheet
Dim plgRech As Range
Dim Ligne As Long, Res As Variant
Set shSource = Sheets("Données brutes")
With Sheets("Base de données")
Set plgRech = .Range("A2:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With shSource
'F colonne où critère de référence dans la feuille Données brutes
'1 Nombre de colonne depuis F où sera incrémentée la valeur
'ici 1 est la colonne G (1 à partir de F)
For Ligne = .Range("F" & Cells.Rows.Count).End(xlUp).Row To 1 Step -1
If .Cells(Ligne, 1) <> "" Then
'utilisation de la fonction de feuille de calcul Equiv
Res = Application.Match(.Range("F" & Ligne), plgRech, 0)
'Récupère la valeur de la colonne B de la base de données
If Not IsError(Res) Then .Range("B" & Ligne).Value = plgRech(Res, 2)
End If
Next
End With
End Sub
J'ai récupéré une macro de type "rechercheV" que j'essaye d'adapter à mon cas mais ne comprenant pas exactement comment fonctionne le code, j'ai un peu de mal.
Je souhaiterais dans ma feuille "Données brutes", à partir de la ligne 3, incrémenter la colonne G si la valeur dans F (non vide) est présente dans la colonne 1 de ma feuille "Base données".
-Renvoyer alors dans G la valeur de la colonne 2 de "Base données".
-Puis à la suite avec les mêmes condition, renvoyer dans H la valeur de la colonne 8 de "Base données".
Sauf que quand je lance la macro TEST, la valeur ne s'incrémente pas en G comme attendu mais dans la colonne B!
Il doit y avoir un petit truc à modifier qq part mais je ne sais pas où...
Merci de me dire si vous voyez où est la coquille
Cordialement
Sub MACRO()
Dim shSource As Worksheet
Dim plgRech As Range
Dim Ligne As Long, Res As Variant
Set shSource = Sheets("Données brutes")
With Sheets("Base de données")
Set plgRech = .Range("A2:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
End With
With shSource
'F colonne où critère de référence dans la feuille Données brutes
'1 Nombre de colonne depuis F où sera incrémentée la valeur
'ici 1 est la colonne G (1 à partir de F)
For Ligne = .Range("F" & Cells.Rows.Count).End(xlUp).Row To 1 Step -1
If .Cells(Ligne, 1) <> "" Then
'utilisation de la fonction de feuille de calcul Equiv
Res = Application.Match(.Range("F" & Ligne), plgRech, 0)
'Récupère la valeur de la colonne B de la base de données
If Not IsError(Res) Then .Range("B" & Ligne).Value = plgRech(Res, 2)
End If
Next
End With
End Sub