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 SubPour 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 Ifet 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 Withpour 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, où, 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