Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL pour MAC FONCTION RECHERCHE EN VBA

mcj1997

XLDnaute Accro
Bonjour,

Dans le fichier joint, ma fonction recherche ne se fait que sur une ligne, je n'arrive pas à étirer dans le programme et il faut également lancer la macro "manuellement", comment l'automatiser dès que la saisie est faite ?

Merci d'avance,
 

Pièces jointes

  • RECHERCHE DANS VBA.xlsm
    15.3 KB · Affichages: 17

Phil69970

XLDnaute Barbatruc
Bonjour MCJ1997 , le forum

Je te propose ceci avec une boucle.
VB:
Sub test()
Dim DerLig As Long
DerLig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To DerLig
    With Sheets("Feuil1")
        .Range("B" & i).Value = WorksheetFunction.VLookup(.Range("A" & i).Value, Sheets("Feuil2").Range("A1:B100"), 2, False)
    End With
Next i
End Sub


Edit :
Pour lancer en automatique à la place de sub Test

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLig As Long
DerLig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To DerLig
    With Sheets("Feuil1")
        .Range("B" & i).Value = WorksheetFunction.VLookup(.Range("A" & i).Value, Sheets("Feuil2").Range("A1:B100"), 2, False)
    End With
Next i
End Sub


@Phil69970
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Voir mon edit qui remplace la procédure sub Test
Donc ==> cela donne cela comme je l'ai déjà écrit plus haut

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLig As Long
DerLig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To DerLig
    With Sheets("Feuil1")
        .Range("B" & i).Value = WorksheetFunction.VLookup(.Range("A" & i).Value, Sheets("Feuil2").Range("A1:B100"), 2, False)
    End With
Next i
End Sub

@Phil69970
 

Phil69970

XLDnaute Barbatruc
Je te propose ceci si j'ai bien compris:

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim DerLig As Long
DerLig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To DerLig
    With Sheets("Feuil1")
        .Range("B" & i).Value = WorksheetFunction.VLookup(.Range("A" & i).Value, Sheets("Feuil2").Range("A1:C100"), 2, False)
        .Range("C" & i).Value = WorksheetFunction.VLookup(.Range("A" & i).Value, Sheets("Feuil2").Range("A1:C100"), 3, False)
    End With
Next i

End Sub

@Phil69970
 

mcj1997

XLDnaute Accro
une précision si dans ma feuil1, je veux commencer ma saisie par exemple à partir de A10 ? j'ai essayé de mettre dans le code A10 à la place des A mais cela ne fonctionne pas, ce n'est peut-être pas aussi simple que cela ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…