erreur 1004 suite à importation

perdinch

XLDnaute Occasionnel
Bonjour,

Je rencontre un problème (erreur 1004 ) lors de l'importation de plusieurs dizaines d'onglets dans un classeur appel" "receveur".

Je souhaite contourner le problème non pas en copiant l'onglet comme le faisait la macro mais en ajoutant un nouvel onglet dans le classeur receveur et en y collant les données.
C'est ce que préconise Microsoft...
Merci de votre aide pour adapter ma macro à ce cas .
 

Pièces jointes

  • Classeur2.xls
    15 KB · Affichages: 50
  • Classeur2.xls
    15 KB · Affichages: 54
  • Classeur2.xls
    15 KB · Affichages: 56

gilbert_RGI

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Bonjour;

l'erreur 1004 n'indique pas une erreur de mémoire mais un mauvais emplacement du fichier recherché
Si vous essayez d'ouvrir le fichier à partir de la liste des fichiers les plus récents, assurez-vous que le fichier n'a pas été renommé, déplacé ou supprimé.
 

perdinch

XLDnaute Occasionnel
Re : erreur 1004 suite à importation

Merci de vos conseils.

La seule chose qui fonctionne mais qui ne ma convient pas c'est de traiter une trentaine de fichiers PUIS fermer le classeur (l'enregistrer ne suffit pas).
L'ouvrir de nouveau et relancer la procédure à compter du 31 éme .
Cela fonctionne par tranche de trente dans mon cas.

c'est pour cette raison que je souhaiterais tester une autre méthode telle que décrite dans la PJ mais pour cela j'ai besoin de votre aide.

Cordialement
 

gilbert_RGI

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Essayer ceci

Code:
Sub recup_feuilles_CATALOGUE()
    For i = 1 To nblig
        If a = 30 Then
            Application.DisplayAlerts = False
            Application.Workbooks.Save
            a = 1
            Application.DisplayAlerts = True
        End If
        Range("A" & i).Select
        chemin = Range("A" & i).Value
        nblig = Sheets("Liste").Application.WorksheetFunction.CountA(Range("A:A"))
        posi_ongl = Sheets.Count
        Workbooks.Open Filename:=chemin
        For Each feuill In ActiveWorkbook.Worksheets
            If feuill.Name Like "CATALOGUE*" Then
                feuill.Copy After:=Workbooks(classeur_receveur).Sheets(posi_ongl)
                For Each classeur In Workbooks
                    If classeur.Name <> ThisWorkbook.Name Then
                        classeur.Close
                    End If
                Next classeur
                Sheets("Liste").Select
            End If
        Next feuill
        a = a + 1
    Next i
End Sub
 

MJ13

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Bonjour à tous

Comme j'aurais besoin de cumuler des fichiers voici un code à tester issu de ton code (mais j'ai fait le test avec des fichiers simples (en fait c'est 50 fois le même fichier)):

Le chemin et le nom des fichiers est en colonne A.

Code:
Sub Recup_Feuilles_CATALOGUE_ListeA()
'Stop
Workbooks.Add
NOMFR = ActiveWorkbook.Name
For i = 1 To ThisWorkbook.Sheets("Liste").Range("A65536").End(xlUp).Row
  posi_ongl = Workbooks(NOMFR).Sheets.Count
 Workbooks.Open Filename:=ThisWorkbook.Sheets("Liste").Range("A" & i)
    For Each feuill In ActiveWorkbook.Worksheets
        If feuill.Name Like "CATALOGUE*" Then
           feuill.Copy After:=Workbooks(NOMFR).Sheets(posi_ongl)
        End If
    Next feuill
         ActiveWindow.ActivateNext
        If ActiveWorkbook.Name = ThisWorkbook.Name Then GoTo suite Else ActiveWorkbook.Close False
Next i
suite:
 ActiveWindow.ActivateNext
End Sub
 

gilbert_RGI

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Désolé mais j'ai la même punition à l'importation du 33 éme onglet.

merci de votre intérêt pour mon problème.

Perdinch

et avec ceci

Code:
Sub recup_feuilles_CATALOGUE()
    For i = 1 To nblig
        On Error GoTo suite
        If a = 30 Then
            Application.DisplayAlerts = False
            Application.Workbooks.Save
            a = 1
            Application.DisplayAlerts = True
        End If
        Range("A" & i).Select
        chemin = Range("A" & i).Value
        nblig = Sheets("Liste").Application.WorksheetFunction.CountA(Range("A:A"))
        posi_ongl = Sheets.Count
        Workbooks.Open Filename:=chemin
        For Each feuill In ActiveWorkbook.Worksheets
            If feuill.Name Like "CATALOGUE*" Then
                feuill.Copy After:=Workbooks(classeur_receveur).Sheets(posi_ongl)
                For Each classeur In Workbooks
                    If classeur.Name <> ThisWorkbook.Name Then
                        classeur.Close
                    End If
                Next classeur
                Sheets("Liste").Select
            End If
        Next feuill
pass:
        a = a + 1
    Next i
    Exit Sub
suite:
    MsgBox "Une erreur s'est produite au fichier" & chemin
    GoTo pass
End Sub
 

MJ13

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Re

A tester ;)!

Code:
Sub Recup_Feuilles_CATALOGUE_ListeA()
'Stop
Workbooks.Add
NOMFR = ActiveWorkbook.Name
For i = 1 To ThisWorkbook.Sheets("Liste").Range("A65536").End(xlUp).Row
chemin = Range("A" & i).Value
posi_ongl = Workbooks(NOMFR).Sheets.Count
 Workbooks.Open Filename:=ThisWorkbook.Sheets("Liste").Range("A" & i)
For Each feuill In ActiveWorkbook.Worksheets
If feuill.Name Like "CATALOGUE*" Then
     feuill.Copy After:=Workbooks(NOMFR).Sheets(posi_ongl)
End If
Next feuill
ActiveWindow.ActivateNext
If ActiveWorkbook.Name = ThisWorkbook.Name Then GoTo suite Else ActiveWorkbook.Close False
   Next i
suite:
ActiveWindow.ActivateNext
End Sub
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : erreur 1004 suite à importation

Re

Sinon avec les fichiers :).

Les fichiers sont à copier dans un dossier sur le disque dur dans C:\Test.
 

Pièces jointes

  • Cumul_Fichiers_Catalogues.zip
    13.2 KB · Affichages: 24
  • Test1.xls
    16.5 KB · Affichages: 50
  • Test1.xls
    16.5 KB · Affichages: 56
  • Test1.xls
    16.5 KB · Affichages: 60

Discussions similaires

Réponses
7
Affichages
693

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 238
dernier inscrit
ds776001