IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur d'exécution 1004 la methode open de workbooks a echoué


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 3
    Points
    3
    Par défaut Erreur d'exécution 1004 la methode open de workbooks a echoué
    Bonjour
    j'étais sur mon ordinateur fixe et ma macro marchait parfaitement.
    j'ai copier ma macro avec le dossier cible et les coller sur mon fixe. quand je lance la macro, j'ai un message d'erreur sur erreur d'exéction 1004 la methode open de l'objet workbooks a échoué. J'ai l'impression que quand mon fichier de ma macro est ouvert et que j'essaie d'ouvrir un autre fichier excel on me dit que le fichier est illisible. Lorsque je ferme ma macro, le fichier s'ouvre clairement.

    Merci de m'aider urgemment.

    Merci de votre gentillesse. Voici le 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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
     
    Sub syncronisation_fichier()
     
    Dim Ligne As Long
     
    CENTRAL = "HF"
    DR1 = "Synthése 1"
    DR2 = "Synthése 2"
    DR3 = "Synthése 3"
    DR4 = "Synthése 4"
     
        'GoTo Test
     
        'Choix du dossier contenant les fichiers à consolider
        MsgBox "Choix du dossier contenant les fichiers à consolider"
        Dim Repertoire As FileDialog
        Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
        Repertoire.Show
     
        If Repertoire.SelectedItems.Count > 0 Then
            'Début de la consolidation
            ChDir Repertoire.SelectedItems(1)
            monfichier = Dir("*.*")
     
     
            While monfichier <> ""
                Workbooks.Open monfichier
    'au niveau de l'objet workbooks.open, j'ai un message d'erreur 1004
     
                monfichier = Dir()
            Wend
        Else
            GoTo ErreurFichier
        End If
     
        'Mise à jour de la Semaine
        Workbooks(CENTRAL).Sheets(1).Range("D8").Value = Workbooks(DR1).Sheets(1).Range("D8").Value
     
        actual_last_row = 17
     
        'Regroupement de la partie 2
        Range(Workbooks(DR1).Sheets(1).Cells(18, 1), Workbooks(DR1).Sheets(1).Cells(Workbooks(DR1).Sheets(1).Cells(18, 1).End(xlDown).Row, 12)).Copy
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row, 1).Select
     
        ActiveCell.PasteSpecial
     
        actual_last_row = Cells(10000, 1).End(xlUp).Row + 1
     
        Range(Workbooks(DR2).Sheets(1).Cells(18, 1), Workbooks(DR2).Sheets(1).Cells(Workbooks(DR2).Sheets(1).Cells(18, 1).End(xlDown).Row, 12)).Copy
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row, 1).Select
     
        ActiveCell.PasteSpecial
     
        actual_last_row = Cells(10000, 1).End(xlUp).Row + 1
     
        Range(Workbooks(DR3).Sheets(1).Cells(18, 1), Workbooks(DR3).Sheets(1).Cells(Workbooks(DR3).Sheets(1).Cells(18, 1).End(xlDown).Row, 12)).Copy
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row, 1).Select
     
        ActiveCell.PasteSpecial
     
        actual_last_row = Cells(10000, 1).End(xlUp).Row + 1
     
        Range(Workbooks(DR4).Sheets(1).Cells(18, 1), Workbooks(DR4).Sheets(1).Cells(Workbooks(DR4).Sheets(1).Cells(18, 1).End(xlDown).Row, 12)).Copy
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row, 1).Select
     
        ActiveCell.PasteSpecial
     
        actual_last_row = Cells(10000, 1).End(xlUp).Row + 1
     
     
     
        'Copie partie 3
        For i = 18 To 10000
            If Workbooks(DR1).Sheets(1).Cells(i, 3) = "3)Réalisations des objectifs  qualitatifs et  quantitatifs." Then
                Workbooks(DR1).Sheets(1).Range(Workbooks(DR1).Sheets(1).Cells(i, 3), Workbooks(DR1).Sheets(1).Cells(i + 10, 9)).Copy
                Exit For
            End If
        Next
     
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row + 1, 3).Select
        ActiveCell.PasteSpecial
     
     
     
     
     
        For i = 18 To 10000
            If Workbooks(DR2).Sheets(1).Cells(i, 3) = "3)Réalisations des objectifs  qualitatifs et  quantitatifs." Then
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 4, 5) = Workbooks(DR2).Sheets(1).Cells(i + 3, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 5, 5) = Workbooks(DR2).Sheets(1).Cells(i + 4, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 6, 5) = Workbooks(DR2).Sheets(1).Cells(i + 5, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 7, 5) = Workbooks(DR2).Sheets(1).Cells(i + 6, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 8, 5) = Workbooks(DR2).Sheets(1).Cells(i + 7, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 9, 5) = Workbooks(DR2).Sheets(1).Cells(i + 8, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 10, 5) = Workbooks(DR2).Sheets(1).Cells(i + 9, 5).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 11, 5) = Workbooks(DR2).Sheets(1).Cells(i + 10, 5).Value
                Exit For
            End If
        Next
     
        For i = 18 To 10000
            If Workbooks(DR3).Sheets(1).Cells(i, 3) = "3)Réalisations des objectifs  qualitatifs et  quantitatifs." Then
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 4, 4) = Workbooks(DR3).Sheets(1).Cells(i + 3, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 5, 4) = Workbooks(DR3).Sheets(1).Cells(i + 4, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 6, 4) = Workbooks(DR3).Sheets(1).Cells(i + 5, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 7, 4) = Workbooks(DR3).Sheets(1).Cells(i + 6, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 8, 4) = Workbooks(DR3).Sheets(1).Cells(i + 7, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 9, 4) = Workbooks(DR3).Sheets(1).Cells(i + 8, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 10, 4) = Workbooks(DR3).Sheets(1).Cells(i + 9, 4).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 11, 4) = Workbooks(DR3).Sheets(1).Cells(i + 10, 4).Value
                Exit For
            End If
        Next
     
        For i = 18 To 10000
            If Workbooks(DR4).Sheets(1).Cells(i, 3) = "3)Réalisations des objectifs  qualitatifs et  quantitatifs." Then
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 4, 7) = Workbooks(DR4).Sheets(1).Cells(i + 3, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 5, 7) = Workbooks(DR4).Sheets(1).Cells(i + 4, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 6, 7) = Workbooks(DR4).Sheets(1).Cells(i + 5, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 7, 7) = Workbooks(DR4).Sheets(1).Cells(i + 6, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 8, 7) = Workbooks(DR4).Sheets(1).Cells(i + 7, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 9, 7) = Workbooks(DR4).Sheets(1).Cells(i + 8, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 10, 7) = Workbooks(DR4).Sheets(1).Cells(i + 9, 7).Value
                Workbooks(CENTRAL).Sheets(1).Cells(actual_last_row + 11, 7) = Workbooks(DR4).Sheets(1).Cells(i + 10, 7).Value
                Exit For
            End If
        Next
     
        actual_last_row = actual_last_row + 14
     
        'Copie partie 4
     
      For i = 18 To 10000
            If Workbooks(DR1).Sheets(1).Cells(i, 3) = "4) Obstacles majeurs rencontrés chez les clients." Then
                Workbooks(DR1).Sheets(1).Range(Workbooks(DR1).Sheets(1).Cells(i, 3), Workbooks(DR1).Sheets(1).Cells(i, 9)).Copy
            End If
        Next
     
        Workbooks(CENTRAL).Sheets(1).Activate
        Cells(actual_last_row, 3).Select
        ActiveCell.PasteSpecial
     
        actual_last_row = actual_last_row + 2

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Déjà il faut commencer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonFichier = Dir("*.xls*")

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 3
    Points
    3
    Par défaut
    j'ai mis mais il se bloque au niveau de Workbooks.Open MonFichier

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Bonsoir,

    Un bien long code pour illustrer ton problème

    tu as oublié le répertoire...

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 26
    Points : 3
    Points
    3
    Par défaut
    Bonsoir

    Où doi je mettre le repertoire dans le code ? le repertoire s'appelle test mais dans mon code il ouvre un explorateur ou je choisis le repertoire dans le quel je veux ouvrir mes fichiers

Discussions similaires

  1. Réponses: 14
    Dernier message: 19/12/2007, 17h58
  2. Réponses: 13
    Dernier message: 29/06/2007, 18h03
  3. Erreur d'exécution '1004' lors d'une mise en page
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2007, 09h00
  4. [VBA-E] Erreur d'exécution '1004'
    Par bibi5883 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/03/2007, 14h31
  5. [VBA-E] erreur d'exécution 1004 ?
    Par toy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/05/2006, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo