Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupérer 1ere ligne après fusion de fichiers

  • Initiateur de la discussion Initiateur de la discussion kenavo
  • 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 !

kenavo

XLDnaute Junior
Bonsoir,
J'ai une macro qui fusionne des fichiers, elle marche bien mais je ne sais pas comment faire pour récupérer la 1ere ligne ( qui st les intitulés des colonnes) et la coller dans mon fichier destination
J'ai nommer une plage dynamique pour copier mes fichiers mais j'ai exclu la 1ere ligne afin de ne pas avoir cette ligne toutes les n lignes ds le fichier destination

Code:
'Cree une plage dynamique car le nbre de lignes varie suivant le fichier traité : permet de copie ensuite
'uniquement les lignes avec des données
Sub liste()
ActiveWorkbook.Names.Add Name:="Liste", RefersToR1C1:= _
        "=OFFSET(sheet1!R2C1,,,COUNTA(sheet1!C1)-1,18)"
End Sub

'La procedue recup va ouvrir chaque fichier se trouvant ds le chemin defini à l'aide de :
'Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\ et copie les données de chacun
'dans le fichier fusion

Sub recup()
Range("A2").Select 'sélectionner la cellule de début
Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\" 'saisir le chemin complet du dossier où se trouvent les fichiers
Fichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
'appel de la procedure liste
Call liste
Range("Liste").Copy
ThisWorkbook.Activate
ActiveSheet.Paste
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
Loop
End Sub

Si quelqu'un a une idée
Merci
 
Re : Récupérer 1ere ligne après fusion de fichiers

Salut kenavo et le forum
On partira du principe que la feuille active est celle qui doit réceptionner les données :
Code:
'Cree une plage dynamique car le nbre de lignes varie suivant le fichier traité : permet de copie ensuite
'uniquement les lignes avec des données
Sub liste()
ActiveWorkbook.Names.Add Name:="Liste", RefersToR1C1:= _
        "=OFFSET(sheet1!R2C1,,,COUNTA(sheet1!C1)-1,18)"
End Sub

'La procedue recup va ouvrir chaque fichier se trouvant ds le chemin defini à l'aide de :
'Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\ et copie les données de chacun
'dans le fichier fusion

Sub recup()
Dim F As Worksheet
Set F = ActiveSheet
Chemin = "C:\Documents and Settings\Fred\Bureau\Test Fusion\" 'saisir le chemin complet du dossier où se trouvent les fichiers
Fichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While Fichier <> ""
    Workbooks.Open Filename:=Chemin & Fichier
    'appel de la procedure liste
    Call liste
    If F.[A1] = "" Then Rows(1).Copy F.Rows(1)
    Range("Liste").Copy F.Cells(Rows.Count,"A").End(xlUp)(2)
    ActiveWorkbook.Close savechanges:=False
    Fichier = Dir ' Fichier suivant
Loop
End Sub
C'est ton code, à peine remanier.
A+
 
Dernière édition:
Re : Récupérer 1ere ligne après fusion de fichiers

Bonjour,

merci de ta réponse mais ça bloque là :
Code:
 Range("Liste").Copy F.Cells(Rows.Count).End(xlUp)(2)
mais la 1ere ligne est copiée 🙂
 
Re : Récupérer 1ere ligne après fusion de fichiers

Salut kenavo et le forum
Code:
 Range("Liste").Copy F.Cells(Rows.Count,"A").End(xlUp)(2)
Qui m'avais piqué mon A 😡 ????
Non, je ne fais pas d'erreur ! 😀
A+
 
- 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

Discussions similaires

Réponses
3
Affichages
582
  • Question Question
Microsoft 365 Erreur de macro
Réponses
4
Affichages
743
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…