Re : somme recap de fichiers identiques enregistrés dans un même répertoire
Donc j'ai bien mis mes chemins d'accès. Une question, mon fichier récap est tout seul duc oup je suppose que doit virer une partit de la commande sinon ça me met: erreur votre fichier est tout seul. Lorsque j'essaye de virer la partie en trop ma boucle ne marche plus ^^.
Voici ma commande:
Private Sub CommandButton1_Click()
Dim file As String
Dim i As Integer, j As Integer
'vide Informe de la Entrada de Chatarra de Junio, sinon les sommes s'ajouterait à chaque fois
CleanData
'retourne le premier fichier trouve dans le même dossier que Informe de la Entrada de Chatarra de Junio
file = Dir(ThisWorkbook.Path + "\", vbNormal)
'vérifie qu'il y'ai d'autre fichier que Informe de la Entrada de Chatarra de Junio.xlsm dans le dossier de celui-ci
If file = "Informe de la Entrada de Chatarra de Junio.xlsm" Then
file = Dir
If file = "" Then
MsgBox "Carpeta con solo el Informe de la Entrada de Chatarra de Junio", vbOKOnly + cvCritical, "Error"
Exit Sub
Else
file = Dir(ThisWorkbook.Path + "\", vbNormal)
End If
End If
Do
' si le fichier est Informe de la Entrada de Chatarra de Junio, on ne fait rien
If file <> "Informe de la Entrada de Chatarra de Junio.xlsm" Then
'sinon on appelle la méthode GetData avec en paramètre le fichier
GetData ThisWorkbook.Path + "\Informe de la Entrada de Chatarra de Junio\" + "\" + file
End If
'on incrémente i, il désigne l'emplacement du fichier à récupérer dans le dossier (ième fichier)
i = i + 1
'boucle permettant de récupérer le file suivant
file = Dir(ThisWorkbook.Path + "\Informe de la Entrada de Chatarra de Junio\" + "\", vbNormal)
For j = 1 To i
file = Dir
Next
Loop Until file = ""
End Sub
et mon module:
Sub GetData(FilePath As String)
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
'on vérifie que le fichier existe
If Dir(FilePath, vbNormal) <> "" Then
Set xlBook = xlApp.Workbooks.Open(Filename:=FilePath)
Set xlSheet = xlBook.Sheets("TotalChatarra")
Else
MsgBox "Donde??"
Exit Sub
End If
'on met à jour les valeurs dans reporte del mes
ActiveWindow.ActiveSheet.Range("B5") = ActiveWindow.ActiveSheet.Range("B5") + xlSheet.Range("BB2")
ActiveWindow.ActiveSheet.Range("B6") = ActiveWindow.ActiveSheet.Range("B6") + xlSheet.Range("BB3")
ActiveWindow.ActiveSheet.Range("B7") = ActiveWindow.ActiveSheet.Range("B7") + xlSheet.Range("BB4")
ActiveWindow.ActiveSheet.Range("B8") = ActiveWindow.ActiveSheet.Range("B8") + xlSheet.Range("BB5")
ActiveWindow.ActiveSheet.Range("B9") = ActiveWindow.ActiveSheet.Range("B9") + xlSheet.Range("BB6")
ActiveWindow.ActiveSheet.Range("B10") = ActiveWindow.ActiveSheet.Range("B10") + xlSheet.Range("BB7")
ActiveWindow.ActiveSheet.Range("B11") = ActiveWindow.ActiveSheet.Range("B11") + xlSheet.Range("BB8")
ActiveWindow.ActiveSheet.Range("B12") = ActiveWindow.ActiveSheet.Range("B12") + xlSheet.Range("BB9")
ActiveWindow.ActiveSheet.Range("B13") = ActiveWindow.ActiveSheet.Range("B13") + xlSheet.Range("BB10")
ActiveWindow.ActiveSheet.Range("B14") = ActiveWindow.ActiveSheet.Range("B14") + xlSheet.Range("BB11")
ActiveWindow.ActiveSheet.Range("B15") = ActiveWindow.ActiveSheet.Range("B15") + xlSheet.Range("BB12")
ActiveWindow.ActiveSheet.Range("B16") = ActiveWindow.ActiveSheet.Range("B16") + xlSheet.Range("BB13")
ActiveWindow.ActiveSheet.Range("B17") = ActiveWindow.ActiveSheet.Range("B17") + xlSheet.Range("BB14")
ActiveWindow.ActiveSheet.Range("B18") = ActiveWindow.ActiveSheet.Range("B18") + xlSheet.Range("BB15")
ActiveWindow.ActiveSheet.Range("B19") = ActiveWindow.ActiveSheet.Range("B19") + xlSheet.Range("BB16")
'fermeture du wb
xlBook.Close
xlApp.Quit
End Sub
Sub CleanData()
'on vide les valeurs de reporte del mes
ActiveWindow.ActiveSheet.Range("B5") = ""
ActiveWindow.ActiveSheet.Range("B6") = ""
ActiveWindow.ActiveSheet.Range("B7") = ""
ActiveWindow.ActiveSheet.Range("B8") = ""
ActiveWindow.ActiveSheet.Range("B9") = ""
ActiveWindow.ActiveSheet.Range("B10") = ""
ActiveWindow.ActiveSheet.Range("B11") = ""
ActiveWindow.ActiveSheet.Range("B12") = ""
ActiveWindow.ActiveSheet.Range("B13") = ""
ActiveWindow.ActiveSheet.Range("B14") = ""
ActiveWindow.ActiveSheet.Range("B15") = ""
ActiveWindow.ActiveSheet.Range("B16") = ""
ActiveWindow.ActiveSheet.Range("B17") = ""
ActiveWindow.ActiveSheet.Range("B18") = ""
ActiveWindow.ActiveSheet.Range("B19") = ""
End Sub
En espérant que tu ais encore un peu de temps, Merci