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 :

Aide pour erreur dans un code Vba Excel [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Aide pour erreur dans un code Vba Excel
    Bonjour à tous,

    Dans un UserForm je clique sur un bouton qui est censé ouvrir un autre UserForm. Mais un message d'erreur apparaît lors de l'éxécution.
    "Erreur 424 - Objet requis".

    Lorsque je passe la souris sur la ligne concernée il est noté "Bloc with non défini"

    Je ne comprends pas, pouvez vous m'aider s'il vous plait ?

    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
    Private Sub C1_Click()
        Unload Fchoix1
        Sheets("Engagements").Visible = True
        Sheets("Engagements").Activate
            Load FrmEngt (erreur ici)
    With Me
    FrmEngt.MultiPage1.Value = 0
        FrmEngt.MultiPage1(1).Enabled = False
        FrmEngt.MultiPage1(2).Enabled = False
        FrmEngt.MultiPage1(1).Visible = False
        FrmEngt.MultiPage1(2).Visible = False
    Dim vcellule As Object
    FrmEngt.TxtDate = Date
            For Each vcellule In Sheets("Credit").Range("NCred")
                If vcellule.Value <> "" Then FrmEngt.CmbListeCred.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Tiers").Range("NumT")
                If vcellule.Value <> "" Then FrmEngt.CmbListeTiers.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Bât").Range("NomBat")
                If vcellule.Value <> "" Then FrmEngt.CmbListeBat.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("Nom").Range("Noms")
                If vcellule.Value <> "" Then FrmEngt.CmbNom.AddItem vcellule.Value
        Next
            For Each vcellule In Sheets("March").Range("Nmarch")
                If vcellule.Value <> "" Then FrmEngt.CmbMarche.AddItem vcellule.Value
        Next
                FrmEngt.CmbListeCred.ListIndex = 0
                FrmEngt.CmbListeCred.ListIndex = 0
                FrmEngt.CmbListeBat.ListIndex = 0
                FrmEngt.CmbNom.ListIndex = 0
                FrmEngt.CmbMarche.ListIndex = 0
                FrmEngt.CmbListeCred = ""
                FrmEngt.CmbListeCred = ""
                FrmEngt.CmbListeBat = ""
                FrmEngt.CmbNom = ""
                FrmEngt.CmbMarche = ""
                FrmEngt.LstImpu1.Clear
                FrmEngt.LstImpu2.Clear
                FrmEngt.LstImpu3.Clear
                FrmEngt.LstLigne.Clear
                FrmEngt.LstTiers.Clear
                FrmEngt.TxtNumDev = ""
                FrmEngt.TxtDevis = ""
                FrmEngt.TxtObjet = ""
                FrmEngt.TxtNum = ""
                FrmEngt.TxtMontant = ""
            End With
            FrmEngt.Show
    End Sub
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Salut,
    Une piste...j'ai eu le même problème car j'avais oublié un 'end if' dans un 'with'
    Essaies en mettant des 'End if' pour tes lignes avec 'If' pour voir.
    A+
    N'oubliez pas le si votre problème est solutionné.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    Bonjour!
    Je dis peut-être une grosse bêtise, mais pour ouvrir un UserForm j'utilise:

  4. #4
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Dans le code, il me semble que ceci ne sert a rien :

    Ce n'est pas forcément la solution, a voir.

    Sinon, je pense que tu peux enlever le load

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour à tous,

    J'ai essayé toutes vos suggestions sans succès. Je vais chercher encore.
    Ce code, je l'ai fait des dizaines de fois sans problème, et là, boum!!
    Si une idée vous viens, n'hésitez pas.
    Merci par avance
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  6. #6
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Bonjour à tous,

    Il y a quelque chose que je ne comprend pas, ou se trouve le code dans un module standard ?

    Si c'est le cas ceci n'est pas reconnu :


  7. #7
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour aalex,

    J'ai enlevé le
    mais rien ne change, toujours le même message. Je crois que je vais refaire tout le code et puis on verra
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  8. #8
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    j'ai refais tout le code sans plus de succès. Le trou noir complet.
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

  9. #9
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour,

    Le problème ici est qu'en fait tu déclenches un événement dans l'userform FrmEngt, et l'erreur est renvoyée à la procédure appelante. Regarde si le problème ne se trouve pas plutôt dans la procédure Initialize de FrmEngt.

  10. #10
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Points : 160
    Points
    160
    Par défaut Question
    le "With Me" se met dans le code d'usf pour faire référence l'userform en cours.... C est de la programmartion orientée objet !

    Donc si le code se trouve en dehors d'usf c'est normal le bloc n 'est pas defini !


    Le me c est comme thisWorkBook si tu vois le topo ....


    Allez a vos claviers

  11. #11
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour à tous,

    Désolé d'avoir tardé à répondre, mais j'étais en vacances. Mais cela ne m'a pas empéché de travailler sur mon problème. J'ai donc refait toute la procédure et ça marche.
    Vous dire d'où venait le soucis je ne le saurai.
    C'est le résultat qui compte, vos différentes suggestions m'ont permis de trouver un morceau du problème, dans un autre code lié à celui-ci, il y avait une faute de frappe dans le nom de l'UserForm, je suis passé plusieurs fois dessus sans la voir.
    Merci à tous et à bientôt
    J’entends et j’oublie,
    Je vois et je me souviens,
    Je fais et je comprends.
    Confucius

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

Discussions similaires

  1. Erreur dans un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/07/2013, 07h50
  2. [XL-2010] Aide pour modification d'un code VBA (Fonction Ping sous Excel)
    Par osiris13010 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/07/2012, 14h16
  3. Erreur dans un code VBA dans Access
    Par Mathieu51 dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/10/2009, 15h10
  4. erreur dans le code vba
    Par jihad33 dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/01/2008, 14h00
  5. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26

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