somme recap de fichiers identiques enregistrés dans un même répertoire

amauryde

XLDnaute Occasionnel
Bonjour, je sais que je vous en demande bcp mais grace à vous je pregresse très vite :D

Je collecte 30 fichiers excel tous identiques. J'aimerai faire un fichier excel avec le même format, les mêmes cellule au même endroit en ayant dans chaque cellule numérique, la somme des 60 fichiers.

Exemple sur 4 fichiers: en cellule B10 de mes fichiers j'ai les nombres 1, 5, 4, 6 . j'aimerai retrouver dans la cellule B10 de mon fichier récapitulatif la somme, soit 16 (dans mon exemple).

La solution de cliquer sur tous les fichiers un par un pour faire de références ne me parait pas viable.

Merci de votre aide.

Cordialement.

informations:

- tous les fichiers, et seulement ceux là, sont dans un même répertoire
- ils sont tous écrit sous la forme: "Reporte de Chatarra del " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.Name
- le fichier recap ne serait pas enregistré dans le même répertoire
 

pyfux

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

Bonjour,

Merci de m'envoyer un ou deux fichiers Excel pour voir de quoi il retourne.

La solution est de faire une belle macro VBA mais sans exemple !?

Pyfux
 

amauryde

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

Bonjour Pyfux,

Merci pour ta réponse, je te joins un dossier ZIP avec les 4 premiers jours de Juin. Il peut y avoir un souci avec une macro en ouvrant un fichier, ceci vient du fait que le chemin d'enregistrement n'est pas le bon mais c'est normal :)

En espérant que tu puisses m'aider, je reste à disposition

Amaury
 

Pièces jointes

  • exemple.zip
    281.3 KB · Affichages: 36
  • exemple.zip
    281.3 KB · Affichages: 35
  • exemple.zip
    281.3 KB · Affichages: 31

amauryde

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

WUTED, pouvez vous me dire svp ce que je dois mettre dans mon module pour ces lignes là, pour me permettre d'atteindre mes fichiers, à partir de mes emplacments que vous pouvez voir dans mon zip. Merci

If Dir(FilePath, vbNormal) <> "" Then
Set xlBook = xlApp.Workbooks.Open(Filename:=FilePath)
Set xlSheet = xlBook.Sheets("TotalChatarra")
 

WUTED

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

Re,

En gros, tu as :

VB:
file = Dir(ThisWorkbook.Path + "\", vbNormal)
Do
    GetData ThisWorkbook.Path + "\" + file
    '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 + "\", vbNormal)
    For j = 1 To i
    file = Dir
    Next
Loop Until file = ""

Dans son exemple, les fichiers à concaténer étaient dans le même répertoire que le fichier bilan, dans ton cas, il suffit de remplacer les thisWorkbook.Path + "/" par le chemin de ton répertoire. Ensuite la boucle permet de parcourir tous tes fichiers présent dans le répertoire, suffit juste après de bricolé la fonction getData de façon à ce qu’après qu'elle ait ouvert le fichier courant, elle fasse ce que tu veux faire avec les données de celui-ci. En espérant avoir été clair.
 

amauryde

XLDnaute Occasionnel
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
 

amauryde

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

j'ai réussi à modifier: mais je n'obtiens que des 0 :S

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'ajouteraient à chaque fois
CleanData
'retourne au premier fichier trouvé dans le même dossier que Informe de la Entrada de Chatarra de Junio
file = Dir(ThisWorkbook.Path + "\", vbNormal)

Do
GetData ThisWorkbook.Path + "\Reporte diario\" + "\" + file

'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 + "\Reporte diario\" + "\", vbNormal)
For j = 1 To i
file = Dir
Next
Loop Until file = ""

End Sub

et mon module:

idem.

Je pense que j'ai un soucis ds le module, j'essaye de trouver

modif: je construit maintenant mon dossier sous la forme:

dossier: mois... avec deux éléments: mon-sous dossier: info des jours + mon report mensuel
 
Dernière édition:

WUTED

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

Re,
A première vue, y'a déjà certains Dir où y'a une double "\" dans ton chemin, ensuite, ton premier file = Dir... devrait normalement mettre dans file ton fichier bilan, ce qui n'est pas, je crois, le but. Renvoie moi un zip avec ton arborescence MaJ au cas, je vais regarder directement dessus.
 

amauryde

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

merci, je t'ai viré la macro d'enregistrement automatique pour que ce soit plus simple pour toi
 

Pièces jointes

  • exemple.zip
    282.1 KB · Affichages: 24
  • exemple.zip
    282.1 KB · Affichages: 33
  • exemple.zip
    282.1 KB · Affichages: 30

amauryde

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

sans les macros d'enregistrement pb avec le fichier précédent dsl
 

Pièces jointes

  • exemple.zip
    266.5 KB · Affichages: 27
  • exemple.zip
    266.5 KB · Affichages: 40
  • exemple.zip
    266.5 KB · Affichages: 35

WUTED

XLDnaute Occasionnel
Re : somme recap de fichiers identiques enregistrés dans un même répertoire

Re,

Sans prendre en compte les macros d'enregistrement, ça a l'air de fonctionner.
 

Pièces jointes

  • amauryde.zip
    267.6 KB · Affichages: 27

Discussions similaires

Statistiques des forums

Discussions
312 438
Messages
2 088 410
Membres
103 845
dernier inscrit
anasabir2024