Aide code VBA
bonjour
voici mon petit problème, mon code recherche dans la feuille "tarif" un nombre est recopie la cellule a coté dans la colonne dans ma feuille "MaJ référence, j'aimerais dans le même code avoir aussi la colonne après
espèrent avoir était clair
voici le code
Sub Ossatures()
Dim ShSource As Worksheet
Dim ShCible As Worksheet
Dim LigneCibleEnCours As Long
Dim I As Long
Dim ValeursAChercher As Variant
Set ShSource = Sheets("Tarif")
Set ShCible = Sheets("MaJ référence")
LigneCibleEnCours = 3
ValeursAChercher = Array(1830140, 1830141, 1830142, 1830143, 1830134, 1830135, 1684748, 1830136, 1830131, 1830132, 1830133, 1877600, 3099675, 1174113, 1606496) 'L'ordre a son importance pour le résultat.
'to 2 nombre de référence recherche
For I = 1 To 15
'cible range colonne de destination
RecuperationDonnees ShSource, ValeursAChercher(I - 1), ShCible.Range("A" & LigneCibleEnCours)
LigneCibleEnCours = LigneCibleEnCours + 1 ' Si les résultats doivent s'ajouter les uns à la suite des autres
Next I
Set ShSource = Nothing
Set ShCible = Nothing
End Sub
Sub RecuperationDonnees(ByVal FeuilleSource As Worksheet, ByVal ValeurRecherchee As Variant, CelluleCible As Range)
Dim CelluleRecherchee As Range
Set CelluleRecherchee = FeuilleSource.Columns("A").Find(what:=ValeurRecherchee, LookIn:=xlValues, lookat:=xlWhole)
'colonne recherche
If Not CelluleRecherchee Is Nothing Then CelluleCible = CelluleRecherchee.Offset(0, 1)
Set CelluleRecherchee = FeuilleSource.Columns("B").Find(what:=ValeurRecherchee, LookIn:=xlValues, lookat:=xlWhole)
End Sub
Bonjour
Remplaces tes macros par celle-ci et adaptes la au besoin
Sub Ossatures()
Dim ShSource As Worksheet, ShCible As Worksheet
Dim I As Long, LigneCibleEnCours As Long
Dim ValeursAChercher As Variant
Dim CelluleRecherchee As Range
Set ShSource = Sheets("Tarif")
Set ShCible = Sheets("MaJ référence")
LigneCibleEnCours = 3
ValeursAChercher = Array(1830140, 1830141, 1830142, 1830143, 1830134, 1830135, 1684748, 1830136, _
1830131, 1830132, 1830133, 1877600, 3099675, 1174113, 1606496) 'L'ordre a son importance pour le résultat.
'to 2 nombre de référence recherche
For I = 0 To UBound(ValeursAChercher)
'cible range colonne de destination
CelluleRecherchee = ShSource.Columns("A").Find(what:=ValeursAChercher(I), LookIn:=xlValues, lookat:=xlWhole)
If Not CelluleRecherchee Is Nothing Then
ShCible.Range("A" & LigneCibleEnCours) = CelluleRecherchee.Offset(0, 1)
' Pour la 2ème valeur que tu veux récupérer
ShCible.Range("B" & LigneCibleEnCours) = CelluleRecherchee.Offset(0, 2)
End If
LigneCibleEnCours = LigneCibleEnCours + 1 ' Si les résultats doivent s'ajouter les uns à la suite des autres
Next I
Set ShSource = Nothing
Set ShCible = Nothing
End Sub
bonjour
erreur 91
CelluleRecherchee = ShSource.Columns("A").Find(what:=ValeursAChercher(I), LookIn:=xlValues, lookat:=xlWhole)
je ne trouve pas merci
Bonjour
Sans fichier pas évident
J'ai oublié le Set
Set CelluleRecherchee = ShSource.Columns("A").Find(what:=ValeursAChercher(I), LookIn:=xlValues, lookat:=xlWhole)
MERCI
APRES UNE HEURE DE RECHERCHE J'AI VU SA? MAIS JE PENSE QUE POUR TOI SA TA PRIT 2 SECONDE MERCI