Chercher des valeur dans un classeur importé VBA

Hi Team

S'il vous plait quelqu'un peux m'aider sur cette question:

j'ai importé un fichier excel dans un autre ficher excel (via VBA) (code ci dessous), et je cherche a faire une recherche vertical sur une colonne precise sur le fichier importé, est ce que quelqu'un peux m'aider.

Sub Bouton2_Cliquer()

Dim files_opened As Variant

''' MsgBox "You have not selected any file..." ''''

''''''''''Initiate environment settings'''''''''''

Application.ScreenUpdating = False

Application.CutCopyMode = False

Application.DisplayAlerts = False

appWB = ThisWorkbook.Name

cell_offset = 1

''''''''''Get opened files' name''''''''''

files_opened = Application.GetOpenFilename("Excel Files (*.xls), *.xls", _

1, "Select files", "", True)

If Not IsArray(files_opened) Then

MsgBox "You have not selected any file..."

Exit Sub

End If

End Sub

Merci

Bonjour et bienvenu(e)

Avec le peu de renseignement fourni

Sub Bouton2_Cliquer()
Dim files_opened As Variant, I As Integer
  ''' MsgBox "You have not selected any file..." ''''

  ''''''''''Initiate environment settings'''''''''''
  Application.ScreenUpdating = False
  'Application.CutCopyMode = False
  Application.DisplayAlerts = False
  'appWB = ThisWorkbook.Name
  'cell_offset = 1

  ''''''''''Get opened files' name''''''''''
  files_opened = Application.GetOpenFilename("Excel Files (*.xls), *.xls", _
                                             1, "Select files", "", True)
  If Not IsArray(files_opened) Then
    MsgBox "You have not selected any file..."
  Else
    For I = LBound(files_opened, 1) To UBound(files_opened, 1)
    'Ouvre les fichiers sélectionnés
      With Workbooks.Open(files_opened(I))
        With .Sheets(1)
          ' Code pour récupérer les données
        End With
        .Close savechanges:=False
      End With
    Next I
  End If

End Sub

Pour continuer il faut savoir exactement ce que tu veux faire, ainsi que (au minimum) 1 fichier de données et le fichier principal (celui avec la macro)

Hi

Merci Banzai64 pour votre réponse

juste une petite explication :

 For I = LBound(files_opened, 1) To UBound(files_opened, 1)
    'Ouvre les fichiers sélectionnés
     With Workbooks.Open(files_opened(I))
        With .Sheets(1) ' c'est quel Sheet? celui qui du fichier qui contient la macro ou bien le fichier importer ? '
          ' Code pour récupérer les données, la fonction est un peu en bas 
       End With
        .Close savechanges:=False
      End With
    Next I
  End If

et dedans j'ai mis ce code qui remplace la recherche verticale :

With Workbooks("NomClasseur.xls").Sheets("Feuil1")
    .Range("B1").Value = WorksheetFunction.VLookup(.Range("A1").Value, _
        Workbooks("NomClasseur.xls").Sheets("Feuil2").Range("A1:B100"), 2, False)
End With

pour etre honnete le code de la recherche vertical je l'ai trouver sur internet, et je veux savoir -sur ce code- qui est le fichier source, et qui est le ficher importer (la ou on veux faire la vlookup)

N;B supposons que mon fichier qui contient la macro est Excel1, et mon ficher importé dans la macro est Excel2

et je veux faire une recherche sur sheet1 dans Excel2

Merci infiniment.

Bonjour

Aminoo a écrit :

N;B supposons que mon fichier qui contient la macro est Excel1, et mon ficher importé dans la macro est Excel2

et je veux faire une recherche sur sheet1 dans Excel2

Tu n'es pas clair

Il faut savoir ce que l'on recherche, , ce que l'on veut obtenir et l'endroit où marquer le résultat

Dans ta macro

With Workbooks("NomClasseur.xls").Sheets("Feuil1")
   [surligner=#FF00FF].Range("B1").Value = WorksheetFunction.VLookup(.Range("A1").Value, _
       [surligner=#FFFF80]Workbooks("NomClasseur.xls").Sheets("Feuil2").Range("A1:B100"), [surligner=#00FF00]2, False)
End With
Rechercher des sujets similaires à "chercher valeur classeur importe vba"