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 quand je valide une action


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 62
    Points : 15
    Points
    15
    Par défaut Message d'erreur quand je valide une action
    Bonjour tout le monde

    Voici mon ptt problème,

    Mon programme se lance automatiquement il n'y a pas de soucis c'est lorsque je valide une action pour aller sur mon second formulaire qu'il y a un message d'erreur qui apparaît et qui m'en voit sur ces algo :

    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
    Private Sub Valider_Click()
     
    Select Case Présentation.Menu.Value
     
    'Saisie
    Case 0
    'Initialisation des champs du formulaire ADV
        ADV.Mois = ""
        ADV.Effect = ""
        ADV.Nbre_usager = ""
        ADV.Nbre_heure_real = ""
        ADV.Nbre_heure_dem = ""
        ADV.Nbre_absence_mensuel = ""
        ADV.Nbre_heure_suppl = ""
        ADV.Nbre_heure_hors_intervention = ""
        ADV.Nbre_heure_interim = ""
        ADV.Temps_trajet = ""
        ADV.Temps_travail_moyen = ""
        ADV.Pourcent_travail = ""
        ADV.Nbre_heure_formation = ""
     
    Unload Me
    'Affichage du formulaire de saisie
        ADV.Show
    '*************************************************************************************************
    'Consultation
    Case 1
        Application.Visible = True
    'Active feuille 1
        Worksheets(1).Activate
    'Ferme le formulaire de présentation
        Unload Me
    '***********************************************************************************************
    'Statistiques
    Case 2
        Application.Visible = True
    'Activer feuille 5
        Worksheets(5).Activate
    'Ferme le formulaire de présnetation
        Unload Me
    End Select
    End Sub
    Pouvez-vous m'aider s'il vous plaît...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 99
    Points
    99
    Par défaut
    Hello,

    le problème qui se passe, c'est que tu es en train d'initialiser des champs sur un objet qui n'existe pas encore pour Excel.
    En effet, quand tu fais "ADV.truc = bidule", ADV.show n'est pas passé et donc il n'existe pas.
    La solution que tu peux faire c'est de déplacer tout ton bloc d'initialisations dans la sub "userform_initialize" de ADV. Quand tu fais ADV.show, la première chose qu'Excel va faire c'est de lancer cette sub.

    De manière générale, n'initialise jamais un userform à partir d'un autre userform, utilise directement "userform_initialize" elle est là pour ça.

    (quand tu auras modifié ça, teste, tu auras une autre erreur en cliquant sur retour menu car il manque un accent à l'appel, t'as écrit presentation.show au lieu de présentation.show)

    if "other_problem" then
    ask
    end if
    S'il n'y a pas de solution c'est qu'il n'y pas de problème (proverbe shadok)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 62
    Points : 15
    Points
    15
    Par défaut
    J'ai tout déplacer et maintenant je clique sur valider et le programme s'éteind complétement!

    Ce que je ne comprends pas en faite c'est que pour le programme foyer tu as mis cette fonction au même endroit que moi et ça fonctionnait! et mois ça fonctionne pas ...

    Je ne comprends pas pourquoi tu veux que je le change de place car pour moi (sûrement que je me trompe) ça fait parti du programme de présentation car c'est dans le programme de présentation qu'on appuie sur le bouton valider!

    Pzeux tu me dire ce que je dois mettre exactement dans le formulaire de présentation et celui de la saisie car la sincérement je nage...

    Ps : merci pour le bouton retour menu!
    Merci...

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Quel message ? Sur quelle ligne ?

    PS - Balise ton code -> Sélection + 1 clic sur # en mode d'édition de ton message. Pour éditer, le bouton Editer en bas de ton message (!)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 62
    Points : 15
    Points
    15
    Par défaut
    La ligne qui se met en jaune quand j'active le bouton valider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Valider_Click()
    Select Case Présentation.Menu.Value
    'Saisie
    Case 0
    'Initialisation des champs du formulaire ADV
    ADV.Mois = ""

    Message d'erreur : Erreur d'exécution "424"

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 95
    Points : 99
    Points
    99
    Par défaut
    Hello,

    ci-dessous ton code qui appartient au formulaire Presentation
    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 Valider_Click()
    Select Case Présentation.Menu.Value
    'Saisie
    Case 0
    'Initialisation des champs du formulaire ADV
    '------------------tut--------------------
    ADV.Mois = ""
    ADV.Effect = ""
    ADV.Nbre_usager = ""
    ADV.Nbre_heure_real = ""
    ADV.Nbre_heure_dem = ""
    ADV.Nbre_absence_mensuel = ""
    ADV.Nbre_heure_suppl = ""
    ADV.Nbre_heure_hors_intervention = ""
    ADV.Nbre_heure_interim = ""
    ADV.Temps_trajet = ""
    ADV.Temps_travail_moyen = ""
    ADV.Pourcent_travail = ""
    ADV.Nbre_heure_formation = ""
    '------------------tut--------------------
    Unload Me
    'Affichage du formulaire de saisie
    ADV.Show
    Entre les 2 'tut', le code fait des actions sur ADV (il initialise ADV) et ceci n'est pas censé faire partie de Presentation mais de ADV.

    En gros, chaque formulaire doit gérer "son business". Il doit s'initialiser lui-même, il doit gérer ses boutons, il doit se fermer lui-même. La seule chose qu'il peut faire sur un autre formulaire c'est le lancer (machin.show). Comme ça, tu as un code propre où tu te retrouves facilement.

    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
     
    'dans presentation, tu mets
    Private Sub Valider_Click()
    Select Case Présentation.Menu.Value
    'Saisie
        Case 0
            Unload Me
            'Affichage du formulaire de saisie
            ADV.Show
        Case 1
            'la suite de ton code
     
    'dans ADV, dans la sub userform_initialize, tu ajoutes après les instruction qui y sont déjà
    ADV.Mois = ""
    ADV.Effect = ""
    ADV.Nbre_usager = ""
    ADV.Nbre_heure_real = ""
    ADV.Nbre_heure_dem = ""
    ADV.Nbre_absence_mensuel = ""
    ADV.Nbre_heure_suppl = ""
    ADV.Nbre_heure_hors_intervention = ""
    ADV.Nbre_heure_interim = ""
    ADV.Temps_trajet = ""
    ADV.Temps_travail_moyen = ""
    ADV.Pourcent_travail = ""
    ADV.Nbre_heure_formation = ""
    Si ça marche toujours pas, tu envoies le fichier, je regarderai plus précisément encore
    S'il n'y a pas de solution c'est qu'il n'y pas de problème (proverbe shadok)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 62
    Points : 15
    Points
    15
    Par défaut
    okay merci je regarde ça et je te tiens au courant!

    Merci encore

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    En effet tu ne peux avoir accès aux controles d'un formulaire si le formulaire en question n'est pas encore chargé.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2007
    Messages : 62
    Points : 15
    Points
    15
    Par défaut
    Merci à vous tous,

    surtout à Grrimag! C'est bon mon programme fonctione parfaitement et comme je désiraiis!

    Merci encore!!!!

    Vous êtes

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

Discussions similaires

  1. [ImageMagick] Message d'erreur à la génération d'une image jpg
    Par DadaWeb dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 06/06/2006, 13h42
  2. [Struts]2 Threads identiques quand j'appelle une action
    Par seb55555 dans le forum Struts 1
    Réponses: 4
    Dernier message: 03/05/2005, 16h49
  3. Message d'erreur à l'exécution d'une install
    Par titof dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 22/03/2005, 11h20
  4. [Servlet - MySQL] Ca marche mais message d'erreur quand même
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/11/2004, 15h15
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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