Bonjour,

Je conçoit une macro qui, dans un premier temps, à partir d'un fichier Excel ouvre un autre fichier Excel. Je voudrais alors sélectionner une plage de cellules dans le fichier ouvert mais je rencontre une erreur 1004. J'ai pas mal cherché sur le net, y compris sur ce forum, mais je n'arrive pas à résoudre mon problème.

Voici mon code :

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
48
49
50
51
52
53
Public Sub fiche()
 
' Déclaration et initialisation des varibales
 
Dim nbr_fichiers As Integer, i As Integer, j As Integer, N As Integer, k As Integer, m As Integer
Dim feuille_active As String, book_actif As String
Dim tableau_fichiers() As String, tableau_valeurs()
 
N = 0
 
' Informations fichiers
 
nbr_fichiers = InputBox("Veuillez renseigner le nombre de fichiers à ouvrir", "Nombre de fichiers")
 
 
' Redimensionnement du tableau
 
ReDim tableau_fichiers(nbr_fichiers)
 
 
' Boucle sur les noms de fichiers
 
For i = 0 To nbr_fichiers - 1
 
    tableau_fichiers(i) = InputBox("Veuillez indiquez le chemin du fichier " & CStr(i) & " (ex : C:\Dossier\fichier.xls)", "Nom du fichier " & CStr(i))
 
Next i
 
 
'' Boucle principale
 
For j = 0 To nbr_fichiers - 1
 
 
    ' Ouverture du fichier
 
    Set ObjExcel = CreateObject("EXCEL.APPLICATION") ' Création d'un objet Excel
    Set ObjFeuil = ObjExcel.Workbooks.Open(tableau_fichiers(j)) ' Création d'un objet feuille et ouverture d'un fichier
    ObjExcel.Visible = True 'Affichage du resultat
 
 
    ' Conversion et remplacement des points par des virgules
 
    ObjExcel.Range("A4").Select
 
    Do
 
        N = N + 1
        ObjExcel.ActiveCell.Offset(1, 0).Select
 
    Loop Until ObjExcel.ActiveCell.Value = ""
 
    ObjExcel.Range(Cells(4, 1), Cells(4 + N - 1, 1)).Select
C'est à ce moment que l'exécution s'arrête et qu'il me met le message d'erreur. Un p'tit coup de main svp