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 :

message d'erreur d'éxecution '1004'


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut message d'erreur d'éxecution '1004'
    bonjour le forum,
    que signifie cette erreur qui parviens apres l'execution de cette macro
    • je fais lance le macro
    • la macro terminée j'effectue une execution exemple ouverture userform2
    • là apparait le message

    erreur d'éxecution '1004'
    La méthode 'sheets' de l'objet_'Global' à échoué


    merci de votre aide
    cdt
    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
    Private Sub CommandButton7_Click()
    R = MsgBox("    Vous comfirmez la mise à jour des PVC vers les entrepots ?               ", vbYesNo + vbQuestion, "Mise a jour des PVC")
    If R = vbYes Then
    Application.ScreenUpdating = False
     
        Dim oCible As Workbook
        Dim sPath As String
        Dim W As String
     
        sPath = Sheets("TONY").Range("A516").Value
        W = Dir(sPath & "*.xlm")
     
        Do Until W = ""
            Set oCible = Workbooks.Open(Filename:=sPath & W)
     
    Dim oSource As Workbook
     
    Set oSource = Workbooks("TARIFAIRE v5.xlm")
     
    oCible.Worksheets("TARIF V BOVINE").Range("O6:W52").Value = oSource.Worksheets("TARIF V BOVINE").Range("E6:M52").Value
    oCible.Worksheets("TARIF PORC").Range("O6:W35").Value = oSource.Worksheets("TARIF PORC").Range("E6:M35").Value
    oCible.Worksheets("TARIF VEAU").Range("O6:W29").Value = oSource.Worksheets("TARIF VEAU").Range("E6:M29").Value
    oCible.Worksheets("TARIF AGNEAU").Range("O6:W19").Value = oSource.Worksheets("TARIF AGNEAU").Range("E6:M19").Value
    oCible.Worksheets("TARIF AGNEAU").Range("O25:W38").Value = oSource.Worksheets("TARIF AGNEAU").Range("E25:M38").Value
    oCible.Worksheets("TARIF AGNEAU").Range("O44:W51").Value = oSource.Worksheets("TARIF AGNEAU").Range("E44:M51").Value
    oCible.Worksheets("TARIF ABATS").Range("O6:W48").Value = oSource.Worksheets("TARIF ABATS").Range("E6:M48").Value
     
     
    oCible.Close True
     
     W = Dir()
    Loop
    Application.ScreenUpdating = True
    End If
    Select Case MsgBox("Le transfert de vos nouveaux PVC vers les Entrepots est Terminé", vbInformation, "Information")
    Case vbOK
    End Select
     
    End Sub

  2. #2
    Expert éminent 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
    Par défaut
    As tu fais le pas à pas sur ce code? l'erreur est sur quelle ligne ?
    sinon, ton code sera plus visible comme ceci
    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
    Private Sub CommandButton7_Click()
    Dim oSource As Workbook, oCible As Workbook
    Dim sPath As String, W As String
     
    Application.ScreenUpdating = False
    If MsgBox("Vous comfirmez la mise à jour des PVC vers les entrepots?", vbYesNo + vbQuestion, "Mise a jour des PVC") = vbYes Then
       Set oSource = ThisWorkbook
       sPath = oSource.Sheets("TONY").Range("A516").Value
       W = Dir(sPath & "*.xlm")
       Do Until W = ""
          Set oCible = Workbooks.Open(sPath & W)
          oCible.Worksheets("TARIF V BOVINE").Range("O6:W52").Value = oSource.Worksheets("TARIF V BOVINE").Range("E6:M52").Value
          oCible.Worksheets("TARIF PORC").Range("O6:W35").Value = oSource.Worksheets("TARIF PORC").Range("E6:M35").Value
          oCible.Worksheets("TARIF VEAU").Range("O6:W29").Value = oSource.Worksheets("TARIF VEAU").Range("E6:M29").Value
          oCible.Worksheets("TARIF AGNEAU").Range("O6:W19").Value = oSource.Worksheets("TARIF AGNEAU").Range("E6:M19").Value
          oCible.Worksheets("TARIF AGNEAU").Range("O25:W38").Value = oSource.Worksheets("TARIF AGNEAU").Range("E25:M38").Value
          oCible.Worksheets("TARIF AGNEAU").Range("O44:W51").Value = oSource.Worksheets("TARIF AGNEAU").Range("E44:M51").Value
          oCible.Worksheets("TARIF ABATS").Range("O6:W48").Value = oSource.Worksheets("TARIF ABATS").Range("E6:M48").Value
          oCible.Close True
          W = Dir()
       Loop
       MsgBox "Le transfert de vos nouveaux PVC vers les Entrepots est Terminé", vbInformation, "Information"
    End If
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    Je viens de changer la macro initiale par la tienne
    Elle fonctionne comme l'autre pas de probleme
    en revanche la 1ere execution qui suit celle de la macro, je retrouve le message d'erreur
    petite question comment effectuer le pas a pas sachant que la macro se trouve sur le bouton un uerform?
    merci
    cdt

  4. #4
    Expert éminent 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
    Par défaut
    en revanche la 1ere execution qui suit celle de la macro, je retrouve le message d'erreur
    C'est ici qui n'est pas clair.

    petite question comment effectuer le pas a pas sachant que la macro se trouve sur le bouton un uerform?
    tu peux entre autre faire un point d'arrêt sur la première ligne du code F9, et exécute normalement ton code, il va s'arrêter sur la ligne du point d'arrêt. tu continue par F8.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    je viens d'effectué le test la macro fonctionne correctement
    mais ensuite dès que j'effectue une autre demande exemple ouverture d'un userform là revient le message d'erreur
    ps: le message apparait une seule fois et apres l'éxecution de la macro c'est tout
    cdt

  6. #6
    Expert éminent 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
    Par défaut
    le problème est donc dans l'initialize de ton userform, non?

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/07/2014, 10h52
  2. Réponses: 11
    Dernier message: 09/07/2014, 16h40
  3. [XL-2010] Erreur d'éxecution '1004' Impossible d'accéder à 'truc.xlsm'
    Par max160 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/07/2014, 17h24
  4. Réponses: 2
    Dernier message: 28/10/2013, 16h45
  5. [VBA-E] Erreur d'éxecution '1004'
    Par andlio dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/01/2007, 10h12

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