Re : Pb d'adaptation d'une macro
Re Je ne comprends pas à quel fil d'origine tu fais référence . Il s'agit bien du même fil
"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"."
Ma macro complète ci-après mais le système a beaucoup de mal semble t-il à enchaîner les 3 incrémentations à la suite
Sub test()
Dim Cel As Range
With Feuil1
'récupère les caractères à gauche de -et incrémente la colonne F
For Each Cel In .Range("B3:B" & Rows.Count).SpecialCells(xlCellTypeConstants)
Cel.Offset(0, 4).Value = Left(Cel.Value, InStr(Cel.Value, "-") - 1)
Next
'complète les colonnes G,H I à partir du critère F et des éléments de la feuille base données
Dim shSource As Worksheet
Dim plgRech As Range
Dim Ligne As Long, Res As Variant
Set shSource = Sheets("Données brutes")
With Sheets("Base 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 pour rechercher le premier nom prénom correspondant
Res = Application.Match(.Range("F" & Ligne), plgRech, 0)
'Positionne la valeur récupérée dans la colonne G de Données brutes
If Not IsError(Res) Then .Range("G" & Ligne).Value = plgRech(Res, 2)
.Range("H" & Ligne).Value = plgRech(Res, 8)
.Range("I" & Ligne).Value = plgRech(Res, 9)
End If
Next
End With
End With
End Sub
Je ne sais pas si cela te suffit.
Cordialement
Re,
Je comprends pourquoi tu n'es pas resté sur ton fil d'origine, je n'irai pas le rechercher à ta place pour savoir de quoi il s'agit exactement.
tu dis mais tu ne nous montre pas comment tu as essayé! Où sont tes lignes de code, ton fichier.
A+