Tester la valeur de Optionbutton

Le
ThierryP
Bonjour le forum,

Encore une 'tite question pour aujourd'hui :

Sur une feuille, j'ai trois groupes différents d'optionbuttons (boîte =
à outils contrôles). A l'ouverture du fichier, je mets tous les boutons=
à False.
Avant de fermer le fichier, je souhaite vérifier qu'il y a bien un bouton=
coché dans chaque groupe.

J'avoue que j'ai un peu de mal avec la syntaxeComment puis-je boucler po=
ur tester chaque bouton ??

Merci d'avance à celui (ou celle) qui m'évitera un mal de crâne !!

ThierryP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #26328181
Bonjour,
J'ai loupé quelque chose où il y a forcément un bouton enfoncé par
groupe ? Ou alors les groupes ne sont pas dans une frame ?
Daniel



Bonjour le forum,

Encore une 'tite question pour aujourd'hui :

Sur une feuille, j'ai trois groupes différents d'optionbuttons (boîte à
outils contrôles). A l'ouverture du fichier, je mets tous les boutons à
False. Avant de fermer le fichier, je souhaite vérifier qu'il y a bien un
bouton coché dans chaque groupe.

J'avoue que j'ai un peu de mal avec la syntaxe...Comment puis-je boucler pour
tester chaque bouton ??

Merci d'avance à celui (ou celle) qui m'évitera un mal de crâne !!

ThierryP
ThierryP
Le #26328191
Le mercredi 10 décembre 2014 17:22:52 UTC+1, DanielCo a écrit :
Bonjour,
J'ai loupé quelque chose où il y a forcément un bouton enfoncé pa r
groupe ? Ou alors les groupes ne sont pas dans une frame ?
Daniel



> Bonjour le forum,
>
> Encore une 'tite question pour aujourd'hui :
>
> Sur une feuille, j'ai trois groupes différents d'optionbuttons (boî te à
> outils contrôles). A l'ouverture du fichier, je mets tous les boutons à
> False. Avant de fermer le fichier, je souhaite vérifier qu'il y a bie n un
> bouton coché dans chaque groupe.
>
> J'avoue que j'ai un peu de mal avec la syntaxe...Comment puis-je boucle r pour
> tester chaque bouton ??
>
> Merci d'avance à celui (ou celle) qui m'évitera un mal de crâne ! !
>
> ThierryP



Bonsoir Daniel,

En fait, j'avais supprimé ce message..... mais finalement j'ai du mal ave c la syntaxe.
Tous les boutons sont mis à false à l'ouverture, quel que soit leur gro upname.
Si je ne clique sur aucun des boutons, ils restent donc à false à la fe rmeture.

Je voudrais donc parcourir ma collection de groupnames, et pour chaque bout on de ce groupe, tester sa valeur : si au moins un bouton est à vrai,je r enseigne un booleen à vrai et je passe au groupe suivant; si aucun bouton n'est coché, je repasse le booleen à faux, et je le teste à la fin.

Mais je sèche lamentablement sur l'écriture !! J'ai commencé ça :

For Each Bouton In ActiveSheet.OLEObjects
' If Bouton.Name = "Cloture" Then GoTo suite
' If UCase(Bouton.Object.GroupName) = "CAUSE" Then GoTo suite
' With ActiveSheet.OLEObjects(Bouton.Name).Object
' MsgBox Bouton.Name & Bouton.Object
' Select Case UCase(.GroupName)

mais ce n'est pas vraiment top !

Merci d'avance de tout coup de main !

ThierryP
DanielCo
Le #26328205
La macro met tous les optionbuttons à True. A la fin, il en restera un
par groupe :
Sub test1()
With Sheets("Feuil2")
For I = 1 To .Shapes.Count
If .Shapes(I).Type = msoOLEControlObject Then
If .Shapes(I).OLEFormat.progID = "Forms.OptionButton.1"
Then
.Shapes(I).OLEFormat.Object.Object.Value = True
End If
End If
Next I
End With
End Sub
Daniel


Le mercredi 10 décembre 2014 17:22:52 UTC+1, DanielCo a écrit :
Bonjour,
J'ai loupé quelque chose où il y a forcément un bouton enfoncé par
groupe ? Ou alors les groupes ne sont pas dans une frame ?
Daniel



Bonjour le forum,

Encore une 'tite question pour aujourd'hui :

Sur une feuille, j'ai trois groupes différents d'optionbuttons (boîte à
outils contrôles). A l'ouverture du fichier, je mets tous les boutons à
False. Avant de fermer le fichier, je souhaite vérifier qu'il y a bien un
bouton coché dans chaque groupe.

J'avoue que j'ai un peu de mal avec la syntaxe...Comment puis-je boucler
pour tester chaque bouton ??

Merci d'avance à celui (ou celle) qui m'évitera un mal de crâne !!

ThierryP





Bonsoir Daniel,

En fait, j'avais supprimé ce message..... mais finalement j'ai du mal avec la
syntaxe. Tous les boutons sont mis à false à l'ouverture, quel que soit leur
groupname. Si je ne clique sur aucun des boutons, ils restent donc à false à
la fermeture.

Je voudrais donc parcourir ma collection de groupnames, et pour chaque bouton
de ce groupe, tester sa valeur : si au moins un bouton est à vrai,je
renseigne un booleen à vrai et je passe au groupe suivant; si aucun bouton
n'est coché, je repasse le booleen à faux, et je le teste à la fin.

Mais je sèche lamentablement sur l'écriture !! J'ai commencé ça :

For Each Bouton In ActiveSheet.OLEObjects
' If Bouton.Name = "Cloture" Then GoTo suite
' If UCase(Bouton.Object.GroupName) = "CAUSE" Then GoTo suite
' With ActiveSheet.OLEObjects(Bouton.Name).Object
' MsgBox Bouton.Name & Bouton.Object
' Select Case UCase(.GroupName)

mais ce n'est pas vraiment top !

Merci d'avance de tout coup de main !

ThierryP
ThierryP
Le #26328406
C'est bien ce que je disais.... "Shapes(I).OLEFormat.Object.Object.Value", c'est le genre de syntaxe que je ne maîtrise pas vraiment !! Je vais test er ça de ce pas !!

Merci :o))

ThierryP


Le mercredi 10 décembre 2014 18:19:58 UTC+1, DanielCo a écrit :
La macro met tous les optionbuttons à True. A la fin, il en restera un
par groupe :
Sub test1()
With Sheets("Feuil2")
For I = 1 To .Shapes.Count
If .Shapes(I).Type = msoOLEControlObject Then
If .Shapes(I).OLEFormat.progID = "Forms.OptionButton.1"
Then
.Shapes(I).OLEFormat.Object.Object.Value = True
End If
End If
Next I
End With
End Sub
Daniel


> Le mercredi 10 décembre 2014 17:22:52 UTC+1, DanielCo a écrit :
>> Bonjour,
>> J'ai loupé quelque chose où il y a forcément un bouton enfoncé par
>> groupe ? Ou alors les groupes ne sont pas dans une frame ?
>> Daniel
>>
>>
>>
>>> Bonjour le forum,
>>>
>>> Encore une 'tite question pour aujourd'hui :
>>>
>>> Sur une feuille, j'ai trois groupes différents d'optionbuttons (bo îte à
>>> outils contrôles). A l'ouverture du fichier, je mets tous les bouto ns à
>>> False. Avant de fermer le fichier, je souhaite vérifier qu'il y a b ien un
>>> bouton coché dans chaque groupe.
>>>
>>> J'avoue que j'ai un peu de mal avec la syntaxe...Comment puis-je bouc ler
>>> pour tester chaque bouton ??
>>>
>>> Merci d'avance à celui (ou celle) qui m'évitera un mal de crâne !!
>>>
>>> ThierryP
>
> Bonsoir Daniel,
>
> En fait, j'avais supprimé ce message..... mais finalement j'ai du mal avec la
> syntaxe. Tous les boutons sont mis à false à l'ouverture, quel que soit leur
> groupname. Si je ne clique sur aucun des boutons, ils restent donc à false à
> la fermeture.
>
> Je voudrais donc parcourir ma collection de groupnames, et pour chaque bouton
> de ce groupe, tester sa valeur : si au moins un bouton est à vrai,je
> renseigne un booleen à vrai et je passe au groupe suivant; si aucun b outon
> n'est coché, je repasse le booleen à faux, et je le teste à la fi n.
>
> Mais je sèche lamentablement sur l'écriture !! J'ai commencé ça :
>
> For Each Bouton In ActiveSheet.OLEObjects
> ' If Bouton.Name = "Cloture" Then GoTo suite
> ' If UCase(Bouton.Object.GroupName) = "CAUSE" Then GoTo suite
> ' With ActiveSheet.OLEObjects(Bouton.Name).Object
> ' MsgBox Bouton.Name & Bouton.Object
> ' Select Case UCase(.GroupName)
>
> mais ce n'est pas vraiment top !
>
> Merci d'avance de tout coup de main !
>
> ThierryP
ThierryP
Le #26328405
Le mercredi 10 décembre 2014 20:45:34 UTC+1, MichD a écrit :
Bonjour,

Fichier exemple : http://cjoint.com/?DLkuZ2Lfnpl



Comme toujours !! Complet, efficace et pédagogique !

Un grand merci

ThierryP
Publicité
Poster une réponse
Anonyme