Bonjour,
Je n'avais plus mis le nez dans VBA depuis un moment et je bute sur un pb de base:
Avec un adressage bâtis a partir de plage nommées, j'enregistrais dans un onglet "Archive" certaines données.
Maintenant, je veux faire la même chose mais dans un autre fichier et j'ai une erreur 424 quand j'arrive sur [Ligne_1].
Si en déboguant, je bascule sur mon fichier d'origine, la macro fonctionne bien.
J'ai essayé plusieurs écritures ex: Range([Ligne_1]).Value mais idem avec une err. 1004

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
'* Créer un fichier si inexistant pour l'archivage des données  *
 
Dim Monfichier As String, Chemin As String
Dim Wb_Cible As Workbook
 
'Création sous répertoire
    ChDir ThisWorkbook.Path
    If [Sous_Répertoire].Value <> "" Then
        Chemin = ThisWorkbook.Path & "\" & [Sous_Répertoire].Value
        If Dir(Chemin, vbDirectory) = "" Then MkDir (Chemin)
    Else
        Chemin = ThisWorkbook.Path
    End If
 
'Contrôle de l'existence du fichier sinon créer un fichier a partir de l'onglet "Maquette..."
    Monfichier = Chemin & "\" & [Nom_fichier].Value
    If Dir(Monfichier) = "" Then
        ThisWorkbook.Sheets("Maquette").Cells.Copy
        Set Wb_Cible = Workbooks.Add
        ActiveSheet.Paste
        ActiveSheet.Name = "Archive"
    Else
        Set Wb_Cible = Workbooks.Open(Filename:=Monfichier)
    End If
 
'Copie l'ensemble des éléments à archiver
    With Wb_Cible.Sheets("Archive")
    Derligne = LastRow(Wb_Cible.Sheets("Archive")) + 1
    .Cells(Derligne, 1) = [Ligne_1].Value
    End with