Menu

Comment appeller la valeur d'un checkbox renommé ? [Résolu]

Messages postés
4
Date d'inscription
dimanche 10 mars 2019
Dernière intervention
23 mars 2019
- - Dernière réponse : Datazoom66
Messages postés
4
Date d'inscription
dimanche 10 mars 2019
Dernière intervention
23 mars 2019
- 23 mars 2019 à 10:16
Bonjour,
Je me décide à faire appel a des pros, je bute sur ce problème depuis 3 jours.

Je suis sur excel 2007. j'ai fait un simple tableau avec 4 colonnes:
Date, Numéro de téléphone, nom du client, et une case a cocher.

Cette case est insérée automatiquement via un userform dans lequel j'ai utilisé la méthode ActiveSheet.CheckBoxes.Add. j'ai même poussé le vice a renommer la case à cocher avec un nom du genre "Case" + le numéro de la ligne.
Le problème, c'est que je parviens pas à récupérer la valeur de cette case (cochée ou pas).
J'ai nommé la case, parce qu'avant, en faisant beaucoup d'essais, les case étaient nommées case à cocher 45, 46, 47 etc, même si je les effaçais, le numéro s'incrémentait tout le temps.
De plus, la valeur s'affiche dans la cellule voisine (çà c'est normal) mais affiche toujours VRAI ou FAUX.
Je voudrait que la valeur affichée soit "Validée" ou "A valider"...

Y a t-il ici un champion qui pourra m'aider a régler ces problèmes ?
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
22578
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 mars 2019
7287
2
Merci
Bonjour,

perso j'évite les objets sur les feuilles. Trop nombreux et excel se met à merdouiller.
Un simple x dans une colonne, en plus beaucoup plus facile à gérer.
A la limite tu peux ajouter une macro pour le mettre ou l'enlever sur double-clic, et mettre une jolie coche verte ou croix rouge à la place du x
eric

Dire « Merci » 2

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 47420 internautes nous ont dit merci ce mois-ci

Commenter la réponse de eriiic
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Dernière intervention
20 mars 2019
362
0
Merci
Bonsoir,

Il suffit d'affecter la macro ci-dessous à vos cases à cocher.
Sub case_change()
    Dim case_cochée As Boolean
    Dim cellule_liée As Range
    
    Set cellule_liée = Range(Shapes(Application.Caller).ControlFormat.LinkedCell)
    case_cochée = cellule_liée.Value
    If case_cochée Then cellule_liée = "Validée" _
    Else cellule_liée = "A valider"
End Sub



Datazoom66
Messages postés
4
Date d'inscription
dimanche 10 mars 2019
Dernière intervention
23 mars 2019
-
Bonjour et merci d'avoir répondu si vite, mais malheureusement, ce code ne fonctionne pas...
J'ai toujours la variable VRAI/FAUX
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Dernière intervention
20 mars 2019
362 -
En fait, la macro doit être placée dans le code de la feuille.
Si elle est placée dans un module, alors il faut la modifier comme ci-dessous
Sub case_change()
    Dim case_cochée As Boolean
    Dim cellule_liée As Range
    
    With ActiveSheet
        Set cellule_liée = Range(.Shapes(Application.Caller).ControlFormat.LinkedCell)
        case_cochée = cellule_liée.Value
        If case_cochée Then cellule_liée = "Validée" _
        Else cellule_liée = "A valider"
    End With
End Sub 


ci-joint exemple
https://cjoint.com/c/IClt6fxFm5N
Datazoom66
Messages postés
4
Date d'inscription
dimanche 10 mars 2019
Dernière intervention
23 mars 2019
-
Merci de votre réponse, et je n'y comprend plus rien !!
Dans votre exemple, ca fonctionne, mais si je mets votre code dans un module, ca ne fonctionne pas!!!

Je joins le code complet de mon fichier, peut-être aurez vous une explication...

https://cjoint.com/c/ICplymmySR4
thev
Messages postés
1770
Date d'inscription
lundi 7 avril 2008
Dernière intervention
20 mars 2019
362 -
ça ne fonctionnait pas car vous n'aviez pas affecté à votre case à cocher, la macro : case_change !!
https://cjoint.com/c/ICuszRBdEqK
Datazoom66
Messages postés
4
Date d'inscription
dimanche 10 mars 2019
Dernière intervention
23 mars 2019
-
Merci !! ca fonctionne !! encore merci
Commenter la réponse de thev