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

  • Initiateur de la discussion Initiateur de la discussion mcj1997
  • Date de début Date de début

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

Réponses
5
Affichages
211
Réponses
4
Affichages
544
Réponses
6
Affichages
343
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…