Office 365 VBA Fonction de recherche précise / extraction de données

julesrugby38

XLDnaute Nouveau
Bonjour à tous
Dans le cadre d´un stage on m´a demandé d´écrire une macro d extraction de données. Le but de cette macro serait de pouvoir rechercher dans une série de fichiers excels (qui contiennent les memes type de test avec differentes valeurs, mais pas excatement au meme endroit dans la feuille) les données qui m interesse et les copier dans un second excel. J ai deja réussi à faire fonctionner le code suivant :

Sub Test1()

Application.ScreenUpdating = False

Dim StrFile As String
Dim Folder As String
Dim i As Integer

Folder = "C:\Temp\"
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Folder
.Title = "order selection"
.ButtonName = "choice..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
Folder = .SelectedItems(1)
If Right(Folder, 1) <> "\" Then Folder = Folder & "\"
Else
MsgBox "no files selected!"
Exit Sub
End If
End With

i = 1
StrFile = Dir(Folder & "*.xlsx")

Do While Len(StrFile) > 0

Workbooks.Open (Folder & StrFile)

Workbooks(StrFile).Worksheets(1).Columns("E").Rows("10:45").Copy Destination:=ThisWorkbook.Worksheets(7).Columns(i).Rows("9")
Workbooks(StrFile).Worksheets(1).Columns("W").Rows("10:45").Copy Destination:=ThisWorkbook.Worksheets(7).Columns(i + 1).Rows("9")

i = i + 2

Workbooks(StrFile).Close

StrFile = Dir

Loop

End Sub

Seulement ce code ne fonctionne que pour une plage de donnée precise (ici colonne E et W de la ligne 10 à 45), or sur chacune de mes feuilles les données ne sont pas tjr à cet emplacement. Je voudrais donc le modifier pour que la boucle cherche d abord le nom d un type de test (ex : D1 Z-Dir ±0,1mm 1-100Hz Fvz-850N) puis apres selectionne les données en question par exemple les données des colonnes D et W mais juste pour ce type de test). Sachant que les plages de données en question ne sont jamais sur la meme ligne mais pas contre les colonnes restent fixe.

Je sait pas si c´est très clair, pour avoir une idée du format de la feuille je joint 2 exemples.

Merci pour votre aide
Cordialement

Jules
 

Fichiers joints

Dernière édition:

Discussions similaires


Haut Bas