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 1004 erreur définie par l'application ou par l'objet sur Call [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut Erreur 1004 erreur définie par l'application ou par l'objet sur Call
    Bonjour à tous,

    j'ai une erreur "1004 erreur définie par l'application ou par l'objet" sur une fonction Call dans mon code (ligne en rouge).
    je tiens à préciser que cette macro fonctionnait à la dernière utilisation du fichier et fonction dans un autre fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Oui_Click()
    
    Unload alerte
    
    Call Feuil13.EffortMB1cycle1
    
    End Sub
    please help !

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    il y a donc une erreur dans la procédure appelée !   Certes pouvant être déclenchée par un contexte différent.

    A suivre en mode pas à pas (touche F8) pour trouver la ligne de code déclenchant l'erreur car
    nous ne pratiquons pas la divination ni ne versons dans l'aruspicine ni l'extispicine et pas plus dans l'haruspicine …

    ___________________________________________________________________________________________________________
    Je suis Paris, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il faut que ta méthode soit défini en public!

    de plus l'instruction Call n'a aucun intérêt! Feuil13.EffortMB1cycle1

    Nom : Sans titre.png
Affichages : 708
Taille : 20,2 Ko

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    il faut que ta méthode soit défini en public!
    c'est fait. ça ne fonctionne pas non plus
    de plus l'instruction Call n'a aucun intérêt!
    ok, je l'ai retiré

    aucune modification

    A suivre en mode pas à pas (touche F8) pour trouver la ligne de code déclenchant
    j'ai beau faire F8, je ne vois aucun message d'erreur apparaître (mais je ne sais pas comment ça marche)

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    peut-être qu'en nous montrant la procédure EffortMB1cycle1, en expliquant un peu son but, et éventuellement en te souvenant d'une possible modification apportée au projet, à la feuille, voir au classeur ... pourrait nous permettre de t'aider

    mais là, c'est choux blanc

  6. #6
    Invité
    Invité(e)
    Par défaut
    dans VBA regarde dans le Menu: Outils->références et dis nous si tu as des librairies manquante?

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    merci pour vos efforts.

    ce que je ne comprend pas, c'est que la macro fonctionne sur un fichier et pas dans un autre.
    c'est toujours à l'appel de EffortMB1cycle1 que ça s'arrête.
    d'après vous se serait un problème dans cette macro ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    quand ça marche à gauche ça marche à droite!

    problème environnemental? pas même machine? pas le même Excel? pas le même Windows?

    d'ou mon dernier poste! si la macro fonctionne 2 fois sur 4 sur la même machine c'est un problème de code!

    il faut analyser ce qui change dans le contexte.

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    Macro qui ne fonctionne plus :
    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
     
    Public Sub EffortMB1cycle1()
    '
    '-----changer la valeur de la contrainte MB1 en fonction de la pression du Step-----
    '
    pdesign = Sheets("Input").Cells(9, 5).Value 'sauvegarde de la P design en statique
    ligne = 4
     
    For s = 1 To 24 Step 1
        ligne = ligne + 1
        pdf = Sheets("Cycle").Cells(ligne, 3).Value
        Sheets("Input").Cells(9, 5).FormulaR1C1 = pdf
     
     
    '-----saisi de la valeur dans la colonne MB1-----
        Sheets("Cycle").Cells(ligne, 4).FormulaR1C1 = Sheets("Efforts MB1").Cells(6, 10).Value
    '-----saisi de la valeur de Seq des soudures si pdf est positif, sinon mettre 0
        If pdf > 0 Then
            Sheets("Cycle").Cells(ligne, 9).FormulaR1C1 = Sheets("Console MB1").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 10).FormulaR1C1 = Sheets("Console MB1").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 11).FormulaR1C1 = Sheets("Console SB1").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 12).FormulaR1C1 = Sheets("Console SB1").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 13).FormulaR1C1 = Sheets("Console SB2").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 14).FormulaR1C1 = Sheets("Console SB2").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 15).FormulaR1C1 = Sheets("Console SB3").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 16).FormulaR1C1 = Sheets("Console SB3").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 17).FormulaR1C1 = Sheets("Console SB4").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 18).FormulaR1C1 = Sheets("Console SB4").Cells(61, 40).Value
        Else
            For colonne = 9 To 18 Step 1
            Sheets("Cycle").Cells(ligne, colonne).FormulaR1C1 = 0
            Next colonne
        End If
    Next s
     
    '-----retour à la valeur de P design en statique-----
    Sheets("Input").Cells(9, 5).FormulaR1C1 = pdesign
     
    '-----mettre la valeur du step correspondant à la P max en S5-----
    Dim Plage As Range, c As Range
    With Worksheets("Cycle")
        Set Plage = .Range("C5:C28")
    '    mf = Application.WorksheetFunction.Min(Plage)
        mf = Application.WorksheetFunction.Max(Plage)
        Set c = Plage.Find(mf, LookIn:=xlFormulas, lookat:=xlWhole)
    '    If Not c Is Nothing Then MsgBox c.Offset(0, 0).Address
    '    If Not c Is Nothing Then MsgBox c.Offset(0, -2).Value
    Sheets("Cycle").Cells(5, 19).FormulaR1C1 = c.Offset(0, -2).Value
     
    End With
    Set c = Nothing
    Set Plage = Nothing
     
    Call concatenercycle1
     
    End Sub
    Macro qui fonctionne (un peu moins de cellule à remplir)
    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
     
    Sub EffortMB1cycle1()
    '
    '-----changer la valeur de la contrainte MB1 en fonction de la pression du Step-----
    '
    pdesign = Sheets("Input").Cells(9, 5).Value 'sauvegarde de la P design en statique
    ligne = 4
     
    For s = 1 To 24 Step 1
        ligne = ligne + 1
        pdf = Sheets("Cycle").Cells(ligne, 3).Value
        Sheets("Input").Cells(9, 5).FormulaR1C1 = pdf
     
     
    '-----saisi de la valeur dans la colonne MB1-----
        Sheets("Cycle").Cells(ligne, 4).FormulaR1C1 = Sheets("Efforts MB1").Cells(6, 10).Value
    '-----saisi de la valeur de Seq des soudures si pdf est positif, sinon mettre 0
        If pdf > 0 Then
            Sheets("Cycle").Cells(ligne, 8).FormulaR1C1 = Sheets("Console MB1").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 9).FormulaR1C1 = Sheets("Console MB1").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 10).FormulaR1C1 = Sheets("Console SB1").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 11).FormulaR1C1 = Sheets("Console SB1").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 12).FormulaR1C1 = Sheets("Console SB2").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 13).FormulaR1C1 = Sheets("Console SB2").Cells(61, 40).Value
            Sheets("Cycle").Cells(ligne, 14).FormulaR1C1 = Sheets("Console SB3").Cells(26, 40).Value
            Sheets("Cycle").Cells(ligne, 15).FormulaR1C1 = Sheets("Console SB3").Cells(61, 40).Value
        Else
            For colonne = 8 To 15 Step 1
            Sheets("Cycle").Cells(ligne, colonne).FormulaR1C1 = 0
            Next colonne
        End If
    Next s
     
    '-----retour à la valeur de P design en statique-----
    Sheets("Input").Cells(9, 5).FormulaR1C1 = pdesign
     
    '-----mettre la valeur du step correspondant à la P max en P5-----
    Dim Plage As Range, c As Range
    With Worksheets("Cycle")
        Set Plage = .Range("C5:C28")
    '    mf = Application.WorksheetFunction.Min(Plage)
        mf = Application.WorksheetFunction.Max(Plage)
        Set c = Plage.Find(mf, LookIn:=xlFormulas, lookat:=xlWhole)
    '    If Not c Is Nothing Then MsgBox c.Offset(0, 0).Address
    '    If Not c Is Nothing Then MsgBox c.Offset(0, -2).Value
    Sheets("Cycle").Cells(5, 16).FormulaR1C1 = c.Offset(0, -2).Value
     
    End With
    Set c = Nothing
    Set Plage = Nothing
     
    Call concatenercycle1
     
    End Sub

  10. #10
    Invité
    Invité(e)
    Par défaut
    tu as regardé ce que j'ai dit au poste #6?

    analyse le contexte du bug! quand tu poudras nous dires ça fonctionne dans tel et tel cas et dans tel et tel autre cas ça ne fonctionnements as on pourra commencer à entrevoir un diagnostique!

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 9
    Par défaut
    STOP !
    arrêtez de vous prendre la tête sur ma question.
    je suis un gros nul... feuille verrouillée

  12. #12
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    Certes pouvant être déclenchée par un contexte différent.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jauffray Voir le message
    STOP !
    arrêtez de vous prendre la tête sur ma question.
    je suis un gros nul... feuille verrouillée
    Remarque pertinente! Je plussois.

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    puré j'arrive pas a lire mon bouquin j'ai pourtant mes lunettes sur le nez
    ahhh! ben oui il faut que l'ouvre d'abords
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Erreur d'éxécution 1004 Erreur définie par l'application ou par l'objet
    Par tokis dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/06/2012, 14h18
  2. Erreur d'exécution 1004. Erreur définie par l'application ou par l'object
    Par Quentin15 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/06/2011, 20h59
  3. ERREUR 1004-erreur défini par l'application ou par l'objet
    Par zineb87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2010, 16h40
  4. Erreur 1004 définie par l'application ou par l'objet
    Par GreatDeveloperOnizuka dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2007, 09h33

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