Bonjour,
Je reviens vers vous pour trouver la solution à mon problème. J’ai absolument besoin de vos expertises.
Je dispose quatre fichiers A.xls , B.xls , C.xls et D.xls.
Dans les quatre fichiers il existe la « feuille 1 » qui est exactement identique pour chaque fichier. Feuille 1 de A est vide les autres non.
Je souhaite copier les lignes non vides de B, C et D dans A. Si par exemple j’ai 10 lignes dans ces trois fichiers, je souhaite avoir 30 lignes dans A.
Je précise que seulement le fichier A est ouvert les autres sont fermés. Je souhaite parcourir alors les trois fichiers fermés pour trouver le nombre de ligne non vide dans la feuille1 de chaque fichier pour les copier dans la feuille1 du fichier A.
J’ai essaye de faire ceci mais cela ne fonctionne pas :
Sub Test()
Dim MonFichier As Workbook
Dim lastLigne, i, j As Integer
j = 4
Set MonFichier = GetObject("V:\TEST 1\B.xls")
MonFichier.Worksheets(1).Activated
lastLigne = MonFichier.Worksheet(1).Range("A65536").End(xlUp).Row
For i = 4 To lastLigne
Rows("j:j") = MonFichier.Worksheets(1).Rows("i:i")
j = j + 1
Next i
MonFichier.Close SaveChanges:=False
End Sub
Je vous remercie pour vos suggestions.
Cdt
Je reviens vers vous pour trouver la solution à mon problème. J’ai absolument besoin de vos expertises.
Je dispose quatre fichiers A.xls , B.xls , C.xls et D.xls.
Dans les quatre fichiers il existe la « feuille 1 » qui est exactement identique pour chaque fichier. Feuille 1 de A est vide les autres non.
Je souhaite copier les lignes non vides de B, C et D dans A. Si par exemple j’ai 10 lignes dans ces trois fichiers, je souhaite avoir 30 lignes dans A.
Je précise que seulement le fichier A est ouvert les autres sont fermés. Je souhaite parcourir alors les trois fichiers fermés pour trouver le nombre de ligne non vide dans la feuille1 de chaque fichier pour les copier dans la feuille1 du fichier A.
J’ai essaye de faire ceci mais cela ne fonctionne pas :
Sub Test()
Dim MonFichier As Workbook
Dim lastLigne, i, j As Integer
j = 4
Set MonFichier = GetObject("V:\TEST 1\B.xls")
MonFichier.Worksheets(1).Activated
lastLigne = MonFichier.Worksheet(1).Range("A65536").End(xlUp).Row
For i = 4 To lastLigne
Rows("j:j") = MonFichier.Worksheets(1).Rows("i:i")
j = j + 1
Next i
MonFichier.Close SaveChanges:=False
End Sub
Je vous remercie pour vos suggestions.
Cdt