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 :

Attribuer une valeur aléatoire à un CheckBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut Attribuer une valeur aléatoire à un CheckBox
    Bonjour

    J'ai créé une procédure qui est censé gérer mes nombreux checkbox.
    Pour ne pas avoir a réécrire le même code trop souvent, j'ai décidé de créer une procédure spéciale.

    Je m'explique: Je désire générer des checkbox universels auxquels je pourrai attribuer une valeur aléatoire. Par exemple, Checkbox (A), Checkbox (B)
    et pour les faire fonctionner je n'aurai qu'à attribuer une valeur particulière à A et à B (A=1 et B=2)

    Le problème est que je ne sais pas quoi mettre comme expression après ma CheckBox pour que mon idée fonctionne: CheckBox(A), CheckBox("A"), CheckBoxA, CheckBox[A], etc....

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    A essayer :
    Si les controls checkbox ont un Name du genre CheckBox1 à checkBox50. Utiliser dans ce cas l'instruction générique Controls("CheckBox" & i) avec i ayant pour valeur 1 à 50

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Merci pour votre suggestion
    Mais mon ignorance m'empêche de faire fonctionner le VBA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If ("CheckBox" & A) = True Then
                Controls("CheckBox" & B).Value = False: Controls("CheckBox" & C) = False: Controls("CheckBox" & D) = False: Controls("CheckBox" & E) = False
    Voici mon projet modifié avec votre suggestion: Si la case A est cochée, alors les cases B,C,D,E,F doivent être décochée.
    Dans une procédure antérieure, j'ai chargé la valeur 1 dans la case A, B=2, C=3, D=4, E=5. Ainsi, "CheckBox" & A" réfère à la checkbox1.

  4. #4
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous,

    Une petite erreur ou oubli dans votre adaptation, il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Controls("CheckBox" & A) Then
    Controls("CheckBox" & B).Value = False: Controls("CheckBox" & C) = False: Controls("CheckBox" & D) = False: Controls("CheckBox" & E) = False 
    End if
    Le terme " Controls" était absent au début de la condition

    Cordialement

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Après quelque essai je constate que la première ligne fonctionne a merveille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (CheckBox & A = True) Then
    alors que l'autre me renvoie une foule d'erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("CheckBox" & B).Value = False: Controls("CheckBox" & C) = False: Controls("CheckBox" & D) = False: Controls("CheckBox" & E) = False

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut Controls Sur UserForm ou sur Feuille ?
    Chez moi, ça fonctionne.
    Mais si la commande située dans une procédure ne modifie pas apparemment l'affichage, on peut forcer celui-ci dans le formulaire par l'instruction :

    En remplaçant "UserForm1" par le Name de cet UserForm.
    Ceci dans le cas ou les CheckBox sont dans un Formulaire ; Dans le cas contraire, s'ils sont placés directement sur une feuille, alors cela devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Sheets("Feuil1").OLEObjects("CheckBox" & a).Object.Value Then
        Sheets("Feuil1").OLEObjects("CheckBox" & b).Object.Value = False
        Sheets("Feuil1").OLEObjects("CheckBox" & c).Object.Value = False
        Sheets("Feuil1").OLEObjects("CheckBox" & d).Object.Value = False
        Sheets("Feuil1").OLEObjects("CheckBox" & e).Object.Value = False
    End If
    Essai concluant sous Excel 2000.
    Cordialement.

Discussions similaires

  1. Attribuer une valeur par défaut à une checkbox
    Par griese dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/12/2006, 09h57
  2. Réponses: 9
    Dernier message: 08/08/2006, 09h42
  3. attribuer une valeur à un checkbox
    Par monsurf dans le forum Access
    Réponses: 1
    Dernier message: 03/05/2006, 22h29
  4. impossible d'attribuer une valeur a un objet
    Par el_quincho dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 11h18
  5. [C#] Attribuer une valeur a une cellule d'un DataGrid
    Par linuxludo dans le forum Windows Forms
    Réponses: 16
    Dernier message: 19/11/2005, 17h42

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