Compter nombre de case cochée (VBA excel)

Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010 - 1 mars 2010 à 15:23
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 4 mars 2010 à 11:02
Bonjour,
Je suis novice en programmation VBA et j'aurai besoin de votre aide pour effectuer quelques opérations.
Voilà je suis en train de créer un formulaire et je veux affecter un groupe d'option contenant des boutons radios à une cellule.
Je vous explique mieux:
J'ai une cellule A10. Je veux lier cette cellule à un groupe d'option contenant 5 boutons radios. De même A11 lie également un autre groupe d'option de 5 boutons radios. AInsi de suite...
La finalité du formulaire est de me compter pour chaque cellule A10, A11, A12... le nombre de boutons radios qui sont cochés dans chaque groupe d'option.
J'espère avoir été clair et j'attends impatiemment vos réponses.

Merci à toutes et à tous

20 réponses

Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
2 mars 2010 à 10:18
l'idéale serai que par exemple en B10,B11,B12 tu mette la somme des radio coché de chaque ligne

par exemple quand tu check un radio sa incrément le compteur sur une cellule et quand tu décroche sa décrémente

Après il te reste juste a faire la somme et voila enfin moi j'aurai fait comme sa
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 08:14
Bonjour Genildf,
Je vais essayer comme tu as dit. je te tiens au courant pour la suite.

Merci et à bientôt...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 mars 2010 à 08:24
Bonjour,
Je ne comprends pas .
Par définition : dans chaque groupe, il ne peut y avoir plus d'un "bouton radio" coché !
Confondrais-tu bouton radio et checkbox ?


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 09:10
Tu as souligné un point important XD

Bien vu j'ai meme pas fait attention il a du confondre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 10:45
Bonjour à vous tous,
Eh bien non un seul bouton radio reste activé alors que les autres sont décochés.
je voudrais savoir aussi comment attribuer une valeur à chaque bouton.Comme ça chaque fois que le bouton prendra cette valeur, il me mettra une valeur dans une cellule.
a bientôt
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 10:48
Tu utilise des checkbox et pas des radio ^^
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 10:51
Les seules valeur de ton bouton sont : true (cochés) ou false decoché

il faut que tu dev sa sur les check box

if checkbox = true then
range ("A10").value = range("A10").value +1
else
range ("A10").value = range("A10").value -1
end if

Enfin un truc du genre
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 13:31
bonjour,
Je vais essayer et je vous tiens au courant. Merci pour tous ces infos.
a plus
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 13:49
ca ne marche pas puisqu'il me faut chosir qu'une case a cochée pour les choix possibles.
merci
j'attends impatiemment vos réponses.
au fait le groupe d'option contenant les boutons radios se trouvent dans un useform.

a+
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 14:10
Attent heu .....

Je comprend plus rien

donc si je comprnd bien tes radio ils sont dans un user form et pas dans ta feuille c ca?
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 14:11
Envoi ta feuille pour voir sa serai mieu
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
3 mars 2010 à 16:05
Voici le lien pour télécharger le fichier

http://www.cijoint.fr/cjlink.php?file=cj201003/cijVnquOIN.xls

a plus
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 17:57
Je vient de comprendre le but du tableu

Heu pk ta besoin d'une user forme ?????

tout est deja dans la feuille 1 non?
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
3 mars 2010 à 17:57
Enfin dans la feuille "satisfaction"
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 08:38
Bonjour,
Justement je veux le faire et Dans la feuille et sur un userform.
Mais ma préférence serait sur le Userform.
Je vais essayer de revoir ma feuille "satisfaction" pour voir ce que je pourrai y faire.
Sur le UserForm,mon souci c'est que à chaque fois qu'on coche un choix (bouton radio) il me met un dans une cellule A1 donnée. Mais quand on le décoche il me met 0 dans la cellule A1.
Comme il y a 5 choix possibles dans chaque frame, l'idéal serait:
coche1----->valeur "1" dans la cellule A1 si décocher valeur "0" dans la cellule A1
coche2----->valeur "1" dans la cellule A1 si décocher valeur "0" dans la cellule A2
coche3----->valeur "1" dans la cellule A1 si décocher valeur "0" dans la cellule A3
coche4----->valeur "1" dans la cellule A1 si décocher valeur "0" dans la cellule A4
coche5----->valeur "1" dans la cellule A1 si décocher valeur "0" dans la cellule A5

et ça pour tous mes groupes d'options (frame).

J'espère avoir été un peu plus clair qu'auparavant.

Merci bien et a plus
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 mars 2010 à 09:30
Salut,
Au bout du compte (et sur la base de ce que tu nous montres de ton intention) :
1) - sauf dans le cas de coche1, ta cellule A1 est toujours égale à 1, puisque quel que soit le cas de figure, lorsque l'on coche un bouton, les autres sont décochés !
pas sur que tu te sois là bien exprimé ... ou alors tu as oublié de corriger A1 en A2, A3, etc...
2) - je remarque que tu lies coche1 à A1, coche2 à A2, etc...
regarde ce que fait ceci (en cochant, décochant) et à toi de jouer :
msgbox coche1.Value * -1
msgbox coche2.Value * -1

je te laisse le soin de faire le "lien" entre suffixes de "coche" (1,2, etc...) et numéros de lignes dans colonne A (1,2, etc...)
Je t'ai miqs là sur la voie. Montre-toi à la hauteur (pas difficile !)
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est, etc...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 mars 2010 à 09:42
Un petit indice, toutefois (lis bien) :
S'il s'agit de boutons sur un UserForm, existe la collection controls.
Et :
Controls("coche" & n) se réfère au contrôle nommé coche1 si n 1, coche2 si n 2, etc...
(la boucle à faire est maintenant évidente pour qui a envie de développer )
D'autres collections existent si bpoutons sur la feuille (Shapes, par exemple ...). UIl te faut t'y intéresser. Le principe d'utilisation d'une collection étant toujours le même, il te suffit alors de remplacer Controls par le nom de la collection concernée !
Bonne étude.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Neliville Messages postés 8 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 4 mars 2010
4 mars 2010 à 10:24
Bonjour ucfoutu,
Désolé mais c'est facile surement pour ceux ou celles qui savent programmer. Moi la programmation j'en ai jamais fait et je commence d'ailleurs à en faire. j'ai pas mal de chose encore à apprendre mais pour ce que tu me dit de faire franchement je n'y comprend rien.
J'espère de mon coté en tout cas réussir le challenge que je me suis donné.
A bientôt et merci.
0
Genildf Messages postés 270 Date d'inscription lundi 12 janvier 2009 Statut Membre Dernière intervention 30 décembre 2015 1
4 mars 2010 à 10:47
En fait il te propose de faire des contrôles indexées c'est pratique surtout qd tu a un nombre inconnu de contrôle (radio ici) a poser et à programer

Pour ton cas t'en a toujours 10 non?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 mars 2010 à 11:02
Il n'y a pas de groupes de contrôles indexés sous VBA/Excel, Genildf (VBA n'est pas VB6).

A Neliville,

Ce n'est tout de même pas la mer à boir ! (une boucle for ... to ...0 next est la moindre des choses à connaître en matière de développement !)
Je veux bien allez un tout petit peu plus loin, mais ce sera tout car là, vraiment !...
Exemple pour coche1, coche2, coche3, coche4 et coche5 placés sur un UserForm et devant (ton exemple) modifier les cellules A1, A2, A3, A4 et A5 de la feuille Feuil1 :
For i = 1 to 5
  sheets("Feuil1").Range("A" & i).value = Controls("coche" & i).Value * -1
Next

Etait-ce vraiment si dur à comprendre ce que je t'avais on ne peut plus clairement exposé plus haut ?
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous