Comment appeller la valeur d'un checkbox renommé ?

Résolu/Fermé
Datazoom66 Messages postés 4 Date d'inscription dimanche 10 mars 2019 Statut Membre Dernière intervention 23 mars 2019 - 10 mars 2019 à 17:24
Datazoom66 Messages postés 4 Date d'inscription dimanche 10 mars 2019 Statut Membre 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 ?
A voir également:

2 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
10 mars 2019 à 19:10
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
2
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié le 10 mars 2019 à 18:59
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



0
Datazoom66 Messages postés 4 Date d'inscription dimanche 10 mars 2019 Statut Membre Dernière intervention 23 mars 2019
11 mars 2019 à 19:13
Bonjour et merci d'avoir répondu si vite, mais malheureusement, ce code ne fonctionne pas...
J'ai toujours la variable VRAI/FAUX
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié le 11 mars 2019 à 21:03
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
0
Datazoom66 Messages postés 4 Date d'inscription dimanche 10 mars 2019 Statut Membre Dernière intervention 23 mars 2019
15 mars 2019 à 12:26
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
0
thev Messages postés 1852 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 23 avril 2024 681
Modifié le 20 mars 2019 à 19:26
ça ne fonctionnait pas car vous n'aviez pas affecté à votre case à cocher, la macro : case_change !!
https://cjoint.com/c/ICuszRBdEqK
0
Datazoom66 Messages postés 4 Date d'inscription dimanche 10 mars 2019 Statut Membre Dernière intervention 23 mars 2019
23 mars 2019 à 10:16
Merci !! ca fonctionne !! encore merci
0