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 :

Fonction si impossible dans userform_initialize()


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 8
    Par défaut Fonction si impossible dans userform_initialize()
    Bonsoir,
    Mon objectif : afficher ou pas un bouton de commande sur un formulaire (Accueil). Choix possible via un 2° formulaire (paramétres) avec une case à cocher.
    Mon code de UserForm_initialize()

    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
     
    Private Sub UserForm_Initialize()
    'Initialisation FormAccueil
    'Les fonctions if ne passent pas ici pq?
    'Pourtant les .visible passent
     
     
    'Paramétrages de la taille
        Me.Height = 700
        Me.Width = 900
        ' BtnDevis.Visible = False ok passe bien
     
        If ChBoxDemandeDevis.Value = False Then
            BtnDemandeDevis.Visible = False
        Else
            BtnDemandeDevis.Visible = True
        End If
     
     
    End Sub
    Dans l'état, "Erreur d'exécution '424' avec débogage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub ouvrirFormAccueil()
    ' Ouvre le formulaire d'accueil
    ' Prévoir ouverture dés chargement du fichier
    ' lors de l'utilisation
    '
        FormAccueil.Show
     
    End Sub
    sur FormAccueil.Show

    Si je met la fonction If en commentaire, pas d'erreur...mais pas d'objectif non plus.
    Pour info (suis trés trés débutant, mais j'ai bien cherché...)

    Merci pour votre aide.

  2. #2
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut
    Salut,

    erreurde ma par

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    1) A ZTeddy : que racontes-tu là ? La propriété value d'une checkbox (relis son message) est bien une booléenne.
    2) A brunolemaire : l'évènement initialize n'est pas le plus adapté. Il intervient avant que tous les objets de l'userform ne soient forcément chargés et disponibles. Utilise plutôt l'évènement Activate.
    NB : tout cela à condition, bien évidemment, qu'il n'y ait aucune erreur dans le nom des objets invoqués.

    PS (et tout-à-fait accessoirement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If ChBoxDemandeDevis.Value = False Then
            BtnDemandeDevis.Visible = False
        Else
            BtnDemandeDevis.Visible = True
        End If
    peut s'écrire très simplement ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BtnDemandeDevis.Visible = ChBoxDemandeDevis.Value

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 12
    Par défaut
    EN effet, autant pour moi j’étais sur un textBox (hors sujet)... Je retire mes bêtises

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2018
    Messages : 8
    Par défaut Test suivant vos conseils
    Bonjour,
    Merci pour vos réponses, mon objectif n'est pas atteind.
    Code pour initialize :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub UserForm_Initialize()
    'Initialisation FormAccueil
    'Les fonctions if ne passent pas ici pq?
    'Pourtant les .visible passent
     
     
    'Paramétrages de la taille
        Me.Height = 700
        Me.Width = 900
     
     
     
    End Sub
    et donc la fonction activate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub UserForm_Activate()
        ' BtnDevis.Visible = False ok passe bien
     
    BtnDemandeDevis.Visible = ChBoxDemandeDevis.Value
    ' BtnDemandeDevis.Visible = False ici cela ne fait pas d erreur...
    End Sub
    Tjrs message d'erreur d'éxécution '424'...
    En direct avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BtnDemandeDevis.Visible = False
    ça fonction
    Certainement une erreur de débutant, mais laquelle... Ailleurs dans le code !! mais que 3 formulaires avec boutons, textes, labels...

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Le code que tu présentes doit fonctionner et même sur Initialize() !
    Supprime tes contrôles et crée les à nouveau pour voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub UserForm_Initialize()
     
        Me.Height = 700
        Me.Width = 900
        BtnDemandeDevis.Visible = ChBoxDemandeDevis.Value
     
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/04/2011, 10h02
  2. fonction équivalente à la fonction MOD (oracle) dans ms-sql
    Par rodrigue50 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/07/2005, 16h14
  3. Réponses: 5
    Dernier message: 06/05/2005, 19h10
  4. [C#] balise <a> en fonction d'infos dans l
    Par Pierrre dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/08/2004, 12h40
  5. Réponses: 12
    Dernier message: 14/06/2004, 13h06

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