Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2011, 13h59   #1
Membre habitué
 
Homme Michael
Ingénieur qualité méthodes
Inscription : octobre 2010
Messages : 200
Détails du profil
Informations personnelles :
Nom : Homme Michael
Localisation : France, Aisne (Picardie)

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 200
Points : 115
Points : 115
Par défaut aide pour commande sur ToggleButton

Bonjour

j'ai plusieurs toggleButton et je cherche à faire en sorte qu'un seul d'entre eux soit à 1 et donc le reste à 0

j'ai tenté avec cette commande mais ca fait planté le fichier.

Code :
1
2
3
4
5
6
Private Sub SelectionnerModeleMultiModele_Change()
    For c = Support.Controls.Count - 1 To 0 Step -1
        If TypeName(Support.Controls(c)) = "ToggleButton" Then Support.Controls(c) = 0
    Next c
    SelectionnerModeleMultiModele = 1
End Sub
je précise que c'est un toggle crée en dynamique

quelqu'un a une solution?

merci
redstoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2011, 18h39   #2
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...!

bonjour

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub ToggleButton1_Click()
Dim control As Object ' variable object pour les controls
'on boucles sur tout le controls
For Each control In Me.Controls
'si le nom du  control est différentde  "togglebutton1"
If control.Name <> "ToggleButton1" Then
'on met le control a false
control = False
End If
Next
End Sub
tu n'a qua te faire une classe sur cet exemple

et pour cela te baser sur mon exemple d'effet mouse in out dans les contributions si tu n'y arrive pas je te le ferais

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/09/2011, 20h29   #3
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonsoir,

Je pense qu'il va falloir que tu te tourne vers des boutons d'option car avec un module de classe, chaque fois que tu mettras une valeur à False pour un bouton, l'évènement dans le module de classe sera à nouveau appelé mais bon, à voir. Si j'ai le temps, je fais un test demain.

Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/09/2011, 08h32   #4
Membre habitué
 
Homme Michael
Ingénieur qualité méthodes
Inscription : octobre 2010
Messages : 200
Détails du profil
Informations personnelles :
Nom : Homme Michael
Localisation : France, Aisne (Picardie)

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 200
Points : 115
Points : 115
Bonjour et merci pour ta solution

je viens de la tester avec une petite modification

Code :
1
2
3
4
5
6
7
8
9
Private Sub SelectionnerModeleMultiModele_click()
    Dim control As Object
    For Each control In Support.controls
        If control.Name <> SelectionnerModeleMultiModele.Name _
            And TypeName(control) = "ToggleButton" Then
            control = False
        End If
    Next
End Sub
c'est déjà une bonne avancée mais il persiste un mauvais point.
lorsque je clique sur un des boutons, les autres se deselectionnent (ok jusque la) mais le bouton cliqué ne reste pas selectionné.
il faut que je reclique dessus pour le selectionner.
Je pourrai me contenter de ca mais je pense qu'il est possible de résoudre ce probleme
redstoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 12h58   #5
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

bonjour
c'est normal tu a fait une erreur!


on recomence
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub SelectionnerModeleMultiModele_Click()
    Dim control As Object    ' variable object pour les controls
'on boucles sur tout le controls
    For Each control In Me.Controls
        If TypeName(control) = "ToggleButton" Then
            'si le nom du  control est différent de  "SelectionnerModeleMultiModele"
            If control.Name <> "SelectionnerModeleMultiModele" Then
                'on met le control a false
                control = False
            End If
        End If
    Next
End Sub
j'ai tester ca fonctionne avec 10 togglebutton et plus donc tu maintenant ta base pour pouvoir faire ta classe

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/09/2011, 15h18   #6
Membre habitué
 
Homme Michael
Ingénieur qualité méthodes
Inscription : octobre 2010
Messages : 200
Détails du profil
Informations personnelles :
Nom : Homme Michael
Localisation : France, Aisne (Picardie)

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 200
Points : 115
Points : 115
Bonjour,

je viens de regarder ta solution mais dans un module classe ca ne marche pas car à chaque changement d'etat le Sub se relance et donc fait que ca ne marche pas. mais j'ai trouvé une petite parade pour que ca fonctionne.

je la met en dessous

Code :
1
2
3
4
5
6
7
8
9
10
11
If FeinteChoixMultiModele = "" Then
    Dim control As control
    FeinteChoixMultiModele = SelectionnerModeleMultiModele.Caption
    For Each control In Support.controls
        If TypeName(control) = "ToggleButton" Then
            b = control.Caption
            If control.Caption <> SelectionnerModeleMultiModele.Caption Then control = False
        End If
    Next
    FeinteChoixMultiModele = ""
End If
le principe est de créer une variable public afin de faire une petite feinte au programme lol ^^
redstoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 15h53   #7
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

bonjour

allons donc

si tu a pris la peine d'aller voir mon effet mouse dans les contribution

tu aurais vu que c'est tout a fait possible de faire la meme chose avec une classe

surtout que ta solution devra etre répété autant de fois que tu a de togglebutton
mais tu n'a pas du sufusament regardé

je vais te le faire rien que pour te le prouver

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 16h25   #8
Membre habitué
 
Homme Michael
Ingénieur qualité méthodes
Inscription : octobre 2010
Messages : 200
Détails du profil
Informations personnelles :
Nom : Homme Michael
Localisation : France, Aisne (Picardie)

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Industrie

Informations forums :
Inscription : octobre 2010
Messages : 200
Points : 115
Points : 115
j'attend ta solution. je suis ouvert pour toutes propositions ^^
redstoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h34.


 
 
 
 
Partenaires

Hébergement Web