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

Rechercher des sujets similaires à "aide code vba"