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 :

checkbox dans un userform [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    coordinateur technique
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : coordinateur technique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 13
    Points
    13
    Par défaut checkbox dans un userform
    Bonjour à tous,

    Dans un masque de saisie j'ai un checkbox.
    Lors de l'enregistrement dans mon tableau et afin d'avoir oui / non à la place de True / False

    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       .Cells(RecordNumber, 31) = IIf(Me.chkAs = True, "OUI", "NON")
    cela fonctionne très bien.

    Par contre pour la récupération de la donnée dans mon masque lors de la lecture, j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       If UCase(.cell(RecordNumber, 31)) = "OUI" Then Me.chkAs.Value = True Else Me.chkAs.Value = False
    et la ca plante.
    Pourtant j'utilise la même fonction avec 2 optbutton (oui/non) est là ça marche.
    Quelqu'un a t il une idée sur le motif du plantage ?
    Merci à tous

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Points : 188
    Points
    188
    Par défaut
    Bonjour,

    Peux tu éditer ton post et utiliser es balises [ CODE] [ /CODE] pour y placer ton code ?


    Ton "checkBox", c'est un ActiveX directement mis sur une feuille Excel ?

    Et dans quel genre de sub as-tu le code (événement lié à ton checkBox ?


    Merci de prendre le temps de faire un post rigoureux si tu veux qu'on prenne le temps de t'aider.

    Slooby

  3. #3
    Membre à l'essai
    Homme Profil pro
    coordinateur technique
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : coordinateur technique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Bonjour,
    Voila, désolé je ne suis pas un habitué
    Merci d'avoir pris le temps de me répondre.

    Donc, non mon checkBox est dans un userForm pas sur la feuille Excel. Celle ci est justement alimentée par le userForm.
    Mon sub se trouve dans le userForm

    J'ai un userForm avec des TexteBox, CheckBox, OptionButton et ComboBox qui alimentent ma feuille directement.

    Lorsque je mets pour écrire dans la feuille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      .Cells(RecordNumber, 31) = Me.chkAs
    et pour lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Me.chkAs = .Cells(RecordNumber, 31)
    ca marche mais dans ma feuille j'ai VRAI / FAUX or je voudrais avoir OUI quand VRAI et NON quand FAUX.
    Puis pouvoir en lecture récupérer l'info de la feuille pour cocher ou non mon CheckBox dans mon UserForm.

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    comme spécifie Slooby, il aurait été utile de voir tout le code, et si tu enlèves ".Value"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If UCase(.cell(RecordNumber, 31)) = "OUI" Then Me.chkAs = True Else Me.chkAs = False
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre à l'essai
    Homme Profil pro
    coordinateur technique
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : coordinateur technique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Non cela ne fonctionne pas j'ai un code erreur d'exécution 438

    puis il met en surligné le début du code de if jusqu'à then.

    j'ai essayé de changer .Value par .Caption mais rien.

    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Me.chkAs.Value = CBool(.cell(RecordNumber, 31) = "OUI")   'pas besoin de if then else
    Debug.Print CBool("OUI" = "OUI")
    Debug.Print CBool("NON" = "OUI")
    Dernière modification par Invité ; 27/07/2016 à 16h18.

  7. #7
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    de mon coté, impossible de télécharger les fichiers du site en ce moment (raison inconnue)
    en attendant vois avec Rdurupt
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par casefayere Voir le message
    de mon coté, impossible de télécharger les fichiers du site en ce moment (raison inconnue)
    en attendant vois avec Rdurupt
    Idem!

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour Robert,
    tu me rassures, ça doit être un problème sur le site
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 772
    Points : 28 633
    Points
    28 633
    Billets dans le blog
    53
    Par défaut Comment visualiser le texte Oui, Non à la place de la valeur booléenne VRAI ou FAUX
    Bonjour,
    C'est dommage de ne pas conserver la valeur booléenne (VRAI/FAUX) dans ton classeur car c'est une valeur exploitable dans excel plus simplement qu'une chaîne de caractères telle que Oui ou Non.
    Si ton soucis est de visualiser Oui/Non en fonction de la valeur booléenne (VRAI/FAUX) contenu dans la cellule, tu peux passer par de la mise en forme conditionnelle.
    Astuce
    Après avoir sélectionné la plage concernée.
    Aller dans la mise en forme conditionnelle et sélectionner la règle Appliquer une mise en forme uniquement aux cellules qui contiennent
    Choisir Egal à et comme valeur FAUX
    Ensuite appliquer comme format un format personnalisé (Onglet Nombre) et entrer ;;;"Non"
    Faire une seconde règle avec comme valeur VRAI et comme format personnalisé ;;;"Oui"
    Illustration
    Nom : Astuce MEF Booleen.png
Affichages : 704
Taille : 49,2 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  11. #11
    Membre à l'essai
    Homme Profil pro
    coordinateur technique
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : coordinateur technique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Bonjour et merci à tous pour vos réponses.

    je test vos propositions aujourd'hui et je vous dis.

    Merci et bonne journée

  12. #12
    Membre à l'essai
    Homme Profil pro
    coordinateur technique
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : coordinateur technique

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    re bonjour,

    Après avoir testé, je garde la solution de Philippe. En effet elle a l'avantage de conserver les valeurs booléennes et elle répond parfaitement à mes attentes.
    Je n'ai pas réussi à faire fonctionner la solution de Rdurupt. Ca me met toujours le même message d'erreur. Je ne dois pas avoir tout saisi.

    Un grand merci à vous tous pour cette aide précieuse.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/03/2007, 20h54
  2. Récupérer des valeurs de checkbox dans MySQL
    Par digger dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 05/09/2005, 14h58
  3. Réponses: 4
    Dernier message: 29/07/2005, 11h47
  4. CheckBoxes dans un QuickReport ?
    Par Soulama dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/07/2005, 15h59
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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