Option Compare Text
Sub ImportRecap()
Dim objOuvrir As FileDialog
Dim objFichiers As FileDialogSelectedItems
Dim x As Long, nblgn As Long
Dim Wb As Workbook
Dim F As Worksheet, tablo, i&, lig&, Identifiant, GV, quantite
'Affiche la fenêtre "Ouvrir"
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = ""
'Efface les filtres existants.
.Filters.Clear
'Définit une liste de filtres pour le champ "Type de fichiers".
.Filters.Add "Classeurs Excel", "*.xls; *.xlsx; *.xlsm"
'Indique le type d'affichage dans la boîte de dialogue
.InitialView = msoFileDialogViewDetails
.Show
End With
'Définit le ou les fichiers à ouvrir
Set objFichiers = Application.FileDialog(msoFileDialogOpen).SelectedItems
'On sort si aucun fichier n'a été sélectionné
If objFichiers.Count = 0 Then Exit Sub
Application.ScreenUpdating = False
'Boucle sur le ou les fichiers Excel sélectionnés pour les ouvrir
For x = 1 To objFichiers.Count
Set Wb = Workbooks.Open(objFichiers(x))
'
'TRAITEMENT
'
Set F = Sheets("Sheet1")
tablo = F.Range("A1", F.UsedRange).Resize(, 28) 'colonnes A à AB
Jour = Format(Range("O12").Value, "dd/mm/yyyy")
For i = 18 To UBound(tablo)
If tablo(i, 1) = "Identifiant" Then lig = i 'mémorise la ligne
If lig And (tablo(i, 4) = 50000088 Or tablo(i, 4) = 30000089) Then
Identifiant = tablo(lig, 11)
GV = tablo(i, 4)
quantite = tablo(i, 28)
Identifiant = Range("K" & i)
GV = Range("D" & j)
quantite = Range("AB" & j)
ThisWorkbook.Activate
With ThisWorkbook.Sheets("BDD_GV")
dl = Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
Cells(dl, 1) = Jour 'si date = date du jour de l'import Récap
Cells(dl, 2) = Identifiant
Cells(dl, 3) = GV
Cells(dl, 4) = quantite
End With
Wb.Activate
End If
Next
'
'
'Referme le classeur sans enregistrer les modifications.
Wb.Close False
Next
Application.ScreenUpdating = True