Bonsoir le forum
j'utilise une série de fichiers que je concatène en un seul
je recherche la première ligne vide du premier
sur le 2eme je recherche la plage de cellules non vides
je la copie et la colle sur le premier
je passe au suivant je sélectionne et copie la plage trouvée
je reviens au premier, première ligne vide , je colle
puis je passe au 3eme etc
tout fonctionne bien sauf si un des fichier est vide (exemple fichier classC vide)
la sélection prend tout, 65000 lignes, et bien sur la macro plante
comment ignorer une opération si un fichier est vide ?

merci d'avance
voici le code que j'utilise:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 ' Classeur classA selectionne premiere cellule vide :
 
Windows("classA.xls").Activate
Dim MaLigne1 As Variant
MaLigne1 = Range("A2").End(xlDown).Address
MaLigne1 = Range(MaLigne1).Row
MaLigne1 = MaLigne1 + 1
Range("A" + CStr(MaLigne1)).Select
 
 
 
' Classeur classB selectionne zone à copier et colle :
 
    Windows("classB.xls").Activate
    Dim MaLigne2 As Variant
    MaLigne2 = Range("A2").End(xlDown).Address
    MaLigne2 = Range(MaLigne2).Row
    Range("A2:X" + CStr(MaLigne2)).Select
 
    Application.CutCopyMode = False
    Selection.Copy
 
    Windows("classA.xls").Activate
    ActiveSheet.Paste
 
 
 
' Classeur classC selectionne zone à copier et colle :
 
    Windows("classC.xls").Activate
    Dim MaLigne3 As Variant
    MaLigne3 = Range("A2").End(xlDown).Address
    MaLigne3 = Range(MaLigne3).Row
    Range("A2:X" + CStr(MaLigne3)).Select
          Application.CutCopyMode = False
    Selection.Copy
 
        ' recherche 1ere cellule vide et colle :
        Windows("classA.xls").Activate
 
        Dim MaLigne4 As Variant
        MaLigne4 = Range("A2").End(xlDown).Address
        MaLigne4 = Range(MaLigne4).Row
        MaLigne4 = MaLigne4 + 1
        Range("A" + CStr(MaLigne4)).Select
 
    ActiveSheet.Paste
et ainsi de suite