Regroupement Fichier

  • Initiateur de la discussion Initiateur de la discussion samy30
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

samy30

Guest
Bonjour

J'utilise une macro que vous m'aviez fourni et qui marche a merveille mais j'ai une petite modif a apporter mais je n'y arrive pas.

La macro ouvre les fichiers excel présent dans un dossier et importe la première feuille et les 7 premières colonnes (A1,B1,...G1).

Et moi j'aurais besoin quelle importe A1,B1,...>G1 et en plus S1.

Sub Creer_Recapitulatif()
Dim sRep As String 'Répertoire ou filtre
Dim sFichier As String
Dim wb As Workbook, ws As Worksheet, rg As Range
Dim wbR As Workbook, wsR As Worksheet, rgC As Range
Dim tablo

Set wbR = ThisWorkbook 'fichier récapitulatif
Set wsR = wbR.Sheets("Recap") 'onglet récapitulatif

Application.ScreenUpdating = False
sRep = ChoisirRepertoire & "\"
'Boîte de dialogue pour choisir répertoire
sFichier = Dir(sRep)
Do While sFichier <> ""
If sFichier <> wbR.Name Then
Set wb = Workbooks.Open(sRep & sFichier) 'ouvrir le fichier
Set ws = wb.Sheets(1) 'les données se trouvent dans le 1er onglet
Set rg = ws.Range("A1").CurrentRegion 'sélection des données
tablo = rg 'mettre les données dans un tablo pour copier ensuite

wsR.Range("A65000").End(xlUp).Offset(1, 0).Resize(rg.Rows.Count, 1) = wb.Name 'nom du fichier
wsR.Range("B65000").End(xlUp).Offset(1, 0).Resize(rg.Rows.Count, 7) = tablo 'données
wb.Close savechanges:=True
End If
sFichier = Dir 'trouve le prochain fichier
Loop
Application.ScreenUpdating = True
End Sub
Function ChoisirRepertoire() As String
Dim diaFolder As FileDialog
' Ouvrir la boîte de dialog
On Error Resume Next
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Show
ChoisirRepertoire = diaFolder.SelectedItems(1)
Set diaFolder = Nothing
End Function

je vous ai joint l'excel avec la macro que vous m'aviez passé.

La je sèche

Merci
 

Pièces jointes

Re : Regroupement Fichier

Bonjour,
si tu ne veux pas changer le code de la macro, tu peux simplement mettre un caractère dans chacune des entete de colonnes ( vides)allant de H à R
La selection de la plage à copier se fera alors sur la colonne S aussi!

2eme solution moins rapide : changer le code (pas le temps de mon coté pour l'instant...)
Dis moi.

Frédéric
 
Re : Regroupement Fichier

J'ai trouvé il me suffit de changer le nombre de colonnes a importer et je ferais le tri après.
ça donne ça

Sub Creer_Recapitulatif()
Dim sRep As String 'Répertoire ou filtre
Dim sFichier As String
Dim wb As Workbook, ws As Worksheet, rg As Range
Dim wbR As Workbook, wsR As Worksheet, rgC As Range
Dim tablo

Set wbR = ThisWorkbook 'fichier récapitulatif
Set wsR = wbR.Sheets("Recap") 'onglet récapitulatif

Application.ScreenUpdating = False
sRep = ChoisirRepertoire & "\"
'Boîte de dialogue pour choisir répertoire
sFichier = Dir(sRep)
Do While sFichier <> ""
If sFichier <> wbR.Name Then
Set wb = Workbooks.Open(sRep & sFichier) 'ouvrir le fichier
Set ws = wb.Sheets(1) 'les données se trouvent dans le 1er onglet
Set rg = ws.Range("A1").CurrentRegion 'sélection des données
tablo = rg 'mettre les données dans un tablo pour copier ensuite

wsR.Range("A65000").End(xlUp).Offset(1, 0).Resize(rg.Rows.Count, 1) = wb.Name 'nom du fichier
wsR.Range("B65000").End(xlUp).Offset(1, 0).Resize(rg.Rows.Count, 7) = tablo 'données je mets 19 a la place de 7
wb.Close savechanges:=True
End If
sFichier = Dir 'trouve le prochain fichier
Loop
Application.ScreenUpdating = True
End Sub
Function ChoisirRepertoire() As String
Dim diaFolder As FileDialog
' Ouvrir la boîte de dialog
On Error Resume Next
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Show
ChoisirRepertoire = diaFolder.SelectedItems(1)
Set diaFolder = Nothing
End Function

Je vais faire avec à moins que vous trouviez mieux

Merci de m'avoir fait réflêchir 🙂
 
Re : Regroupement Fichier

Petite question: je n'ai pas trouvé comment copier non pas une ligne mais une colonne. Je pense que c'est sur la ligne: "Set rg = ws.Range("A1").CurrentRegion" mais je ne vois pas comment faire.
Merci de vos lumières!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
575
Réponses
3
Affichages
599
Réponses
2
Affichages
1 K
Réponses
3
Affichages
879
J
Réponses
1
Affichages
1 K
Z
Réponses
7
Affichages
1 K
Zifox
Z
Réponses
2
Affichages
1 K
Retour