Copier/Coller ligne entre plusieurs fichiers Excel

Nairolf87

XLDnaute Nouveau
Bonjour,
J'ai un fichier excel général appelés TBB.xls
et 3 autres FA.xls, SB.xls, ....

Ce que je voudrais c'est que par l'intermédiaire d'une boite de dialogue j'aille chercher les 3 autres fichiers.

et qu'au sein du fichier général TBB.xls je regroupe toutes les lignes d'une certaine feuille des 3 autres fichiers.

Comment faire?
Etant donné qu'il faut prendre en compte que les lignes soit copiés à la premières case vide dans le fichier TBB.xls.
Cdlt
 

ledzepfred

XLDnaute Impliqué
Re : Copier/Coller ligne entre plusieurs fichiers Excel

Bonsoir NAIROLF87,

en bas de cette discussion, il y a 5 liens qui pourraient t'aider à ébaucher un début de solution et il y a une foultitude d'autres discussions sur ce forum traitant du même sujet.

Bon courage dans ta recherche.

A+
 

Nairolf87

XLDnaute Nouveau
Re : Copier/Coller ligne entre plusieurs fichiers Excel

Bonjour,
J'ai réussi à élaborer ce code mais le problème est qu'il éfface les lignes précédentes au lieu de se rajouter...
je m'explique, quand il va chercher les cellules dans FA.xls il les mets correctement dans le fichier destination par contre qd il va chercher dans SB il remplace celles de FA dans le fichier de destination et pareil pour MJ.

Comment résoudre ce pb ?


Cdlt



Code:
Private Sub copiecollesave_Click()
Application.ScreenUpdating = False
Rep = "C:\Documents and Settings\desbfl01\Mes documents\Exemple VBA\"
FichD = ActiveWorkbook.Name
FichS = "FA.xls"
Workbooks.Open Rep & FichS

With Workbooks(FichS)
        .Sheets("Feuil1").Range("A2:H65536").Copy _
            Workbooks(FichD).Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0)
        Workbooks(FichD).Save
        Workbooks(FichS).Close
End With

Application.ScreenUpdating = False
Rep = "C:\Documents and Settings\desbfl01\Mes documents\Exemple VBA\"
FichD = ActiveWorkbook.Name
FichS = "SB.xls"
Workbooks.Open Rep & FichS

With Workbooks(FichS)

        .Sheets("Feuil1").Range("A2:H65536").Copy _
            Workbooks(FichD).Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0)
        Workbooks(FichD).Save
        Workbooks(FichS).Close


End With
Application.ScreenUpdating = True
            
Application.ScreenUpdating = False
Rep = "C:\Documents and Settings\desbfl01\Mes documents\Exemple VBA\"
FichD = ActiveWorkbook.Name
FichS = "MJ.xls"
Workbooks.Open Rep & FichS

With Workbooks(FichS)

        .Sheets("Feuil1").Range("A2:H65536").Copy _
            Workbooks(FichD).Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0)
        Workbooks(FichD).Save
        Workbooks(FichS).Close

End With
Application.ScreenUpdating = True
            
            
            
            
End Sub
 

ledzepfred

XLDnaute Impliqué
Re : Copier/Coller ligne entre plusieurs fichiers Excel

bonsoir Nairolf,

j'ai repris ton code et l'ai allégé grâce à une boucle :
Code:
Private Sub copiecollesave_Click()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Rep = "C:\Documents and Settings\desbfl01\Mes documents\Exemple VBA\"
FichD = ActiveWorkbook.Name
For i = 1 To 3
    If i = 1 Then FichS = "FA.xls"
    If i = 2 Then FichS = "SB.xls"
    If i = 3 Then FichS = "MJ.xls"
   DligFichD = Sheets("Feuil1").Cells(65536, 1).End(xlUp).Row + 1
    Workbooks.Open Rep & FichS
    With Workbooks(FichS)
            DligFichS = .Sheets("Feuil1").Cells(65536, 1).End(xlUp).Row
            .Sheets("Feuil1").Range(Cells(2, 1), Cells(DligFichS, 8)).Copy _
            Workbooks(FichD).Sheets("Feuil1").Cells(DligFichD, 1)
            .Close
    End With
    Workbooks(FichD).Save
    Next
End Sub

A+
 

vbacrumble

XLDnaute Accro
Re : Copier/Coller ligne entre plusieurs fichiers Excel

Bonsoir tous



Il serait plus juste de dire:
Grâce à Kjin
(voir ici: Lien supprimé)

Nairolf87 a pu commencer à solutionner son problème.

N'est-ce pas ,Nairolf87 ? ;)


Rendons à César ...


EDITION: bonsoir ledzepfred
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11