Faire un tableau regroupant les données de fichiers journaliers
Fermé
AlbanExcel
Messages postés
2
Date d'inscription
jeudi 27 juin 2013
Statut
Membre
Dernière intervention
1 juillet 2013
-
27 juin 2013 à 16:18
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 1 juil. 2013 à 12:11
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 1 juil. 2013 à 12:11
A voir également:
- Faire un tableau regroupant les données de fichiers journaliers
- Tableau croisé dynamique - Guide
- Comment faire un tableau - Guide
- Tableau ascii - Guide
- Comment faire un fichier pdf - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 juin 2013 à 08:21
29 juin 2013 à 08:21
Bonjour
Ne sachant pas, comment vous ouvrez vos fichiers (si c'est en VBA à partir d'une liste ou bien ouverture par Fichier/ouvrir)
et si vous avez commencé par écrire un bout de code pour ouvrir chaque classeur, vous pouvez y coller quelque chose comme ceci, en l'adaptant à vos noms de classeur.
'on relève les données du fichier consommation énergie**********
ReDim Donnees(9) As String
For i = 1 To 9
If i = 1 Then
Donnees(i) = Cells(2, 2)
Else: Donnees(i) = Cells(i + 3, 2)
End If
Next i
'on recopie les données dans fichier global ****
Windows("Global.xlsm").Activate
DerLig = Range("A100000").End(xlUp).Row + 1
For i = 1 To 9
Cells(DerLig, i) = Donnees(i)
Next i
on ferme le fichier énergie, et on ouvre le fichier suivant et on recommence le cycle
si vous ne savez pas faire, envoyez votre code et nous l'adapterons.
cdlt
Ne sachant pas, comment vous ouvrez vos fichiers (si c'est en VBA à partir d'une liste ou bien ouverture par Fichier/ouvrir)
et si vous avez commencé par écrire un bout de code pour ouvrir chaque classeur, vous pouvez y coller quelque chose comme ceci, en l'adaptant à vos noms de classeur.
'on relève les données du fichier consommation énergie**********
ReDim Donnees(9) As String
For i = 1 To 9
If i = 1 Then
Donnees(i) = Cells(2, 2)
Else: Donnees(i) = Cells(i + 3, 2)
End If
Next i
'on recopie les données dans fichier global ****
Windows("Global.xlsm").Activate
DerLig = Range("A100000").End(xlUp).Row + 1
For i = 1 To 9
Cells(DerLig, i) = Donnees(i)
Next i
on ferme le fichier énergie, et on ouvre le fichier suivant et on recommence le cycle
si vous ne savez pas faire, envoyez votre code et nous l'adapterons.
cdlt
AlbanExcel
Messages postés
2
Date d'inscription
jeudi 27 juin 2013
Statut
Membre
Dernière intervention
1 juillet 2013
1 juil. 2013 à 11:01
1 juil. 2013 à 11:01
Bonjour Frenchie83,
Merci pour votre réponse !
J'ai réussi à faire une synthèse générale. Mon code est pas très optimisé je pense, mais ça m'ouvre les fichiers et me fait ce que je veux puis ferme les fenêtres.
Mon problème qui persiste c'est que j'aimerai ne pas avoir à coder le nom des fichiers à ouvrir (si ce sont des fichiers avec des noms complètement différents ..)
Savez-vous sil est possible de coder une macro, qui ouvrirait chaque excel un à un sans avoir besoin du nom ?
Merci :)
Alban
Merci pour votre réponse !
J'ai réussi à faire une synthèse générale. Mon code est pas très optimisé je pense, mais ça m'ouvre les fichiers et me fait ce que je veux puis ferme les fenêtres.
Mon problème qui persiste c'est que j'aimerai ne pas avoir à coder le nom des fichiers à ouvrir (si ce sont des fichiers avec des noms complètement différents ..)
Savez-vous sil est possible de coder une macro, qui ouvrirait chaque excel un à un sans avoir besoin du nom ?
Merci :)
Alban
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juil. 2013 à 12:11
1 juil. 2013 à 12:11
Bonjour
"Savez-vous sil est possible de coder une macro, qui ouvrirait chaque excel un à un sans avoir besoin du nom ? "
Oui, à condition que tous les fichiers soient sous le même répertoire, y compris le fichier global
avec ceci, ça devrait fonctionner
bonne réception
cdlt
"Savez-vous sil est possible de coder une macro, qui ouvrirait chaque excel un à un sans avoir besoin du nom ? "
Oui, à condition que tous les fichiers soient sous le même répertoire, y compris le fichier global
avec ceci, ça devrait fonctionner
Sub Importe() Dim dossier As Object, Fichier As Object, Chemin As String, DerLig As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False Range("A2:B100000").ClearContents Chemin = ThisWorkbook.Path FichName = Dir(Chemin & "\" & "*.xls") Set dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin) For Each Fichier In dossier.Files NomFichier = Fichier.Name If Not Fichier.Name = "Global.xlsm" Then DerLig = Range("A100000").End(xlUp).Row + 1 Workbooks.Open Filename:=Chemin & "/" & NomFichier On Error Resume Next With Workbooks(NomFichier) 'on relève les données du fichier consommation énergie********** ReDim Donnees(9) As String For i = 1 To 9 If i = 1 Then Donnees(i) = Cells(2, 2) Else: Donnees(i) = Cells(i + 3, 2) End If Next i 'on recopie les données dans fichier global **** Windows("Global.xlsm").Activate DerLig = Range("A100000").End(xlUp).Row + 1 For i = 1 To 9 Cells(DerLig, i) = Donnees(i) Next i .Close End With End If Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
bonne réception
cdlt