Pb VBA : bouton radio

Signaler
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006
-
Messages postés
1
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010
-
Bonjour, je voudrais faire un systheme d'afiche ou maszcage de lignes d'une feuille exel en fonction de 3 bouton radio

voila , par exemple le bouton radio "optionbutton" es activé je voudrais rendre invisible les ligne de 12 a 14 si le ce mem bouton radion ou option button es desactivé alors je veut rendre visible les ligne 12 a 14,

voici le code que j'ai deja realisé mais qui marche pas trop

Private Sub OptionButton1_Click()


If OptionButton1 = True Then
Rows("10:10").Select
Selection.EntireRow.Hidden = True
Rows("12:12").Select
Selection.EntireRow.Hidden = True
End If
Range("c12").Select



If OptionButton1 = False Then


Rows("10:10").Select
Selection.EntireRow.Hidden = False
Rows("12:12").Select
Selection.EntireRow.Hidden = False
End If
Range("c12").Select
End Sub

vive VB !!!, vive la prog !!!

9 réponses

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Bonsoir,
Celà ne peut fonctionner si tu mets les deux procédures dans le code d'un seul Optionbutton, pour faire ce que tu veux, à ta place, j'utiliserais un CheckBox.

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Rows("12:14").Select
Selection.EntireRow.Hidden = True
Else
Selection.EntireRow.Hidden = False
End If
Range("C12").Select
End Sub

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006

escusez-moi encore mais ca marche pas trop avec ce que je veut faire !! voila j'ai 3 chek box desormais

une chek box selection fais disparaite 2 plages de lignes et lorsque qu'elle es selectionné et elle les fais reaparaitre lorsquelle es deselectioné.
mais ca marche pas !

voivi le code :

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Rows("32:40").Select
Rows("88:99").Select
Selection.EntireRow.Hidden = True
Else
Rows("32:40").Select
Rows("88:99").Select
Selection.EntireRow.Hidden = False
End If
Range("C12").Select
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
Rows("59:70").Select
Rows("88:99").Select
Selection.EntireRow.Hidden = True
Else
Rows("59:70").Select
Rows("88:99").Select
Selection.EntireRow.Hidden = False
End If
Range("C12").Select
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
Rows("32:40").Select
Rows("59:70").Select
Selection.EntireRow.Hidden = True
Else
Rows("32:40").Select
Rows("59:70").Select
Selection.EntireRow.Hidden = False
End If
Range("C12").Select
End Sub

Merci de votre aide !!!!

vive VB !!!, vive la prog !!!
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
il ne peut n'y avoir qu'un seul OptionButton sélectionné à la fois



au moment du Click il est toujours à True et les autres sont False




donc à chaque évênement Click répété 3 fois:

tu fais apparaître les Lignes qui doivent être visibles

et tu cache les autres.

aucun test à True ou False n'est nécessaire




Daniel
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
Bonsoir,


Puisque tu fais deux sélections, tu dois les traiter séparément





Private Sub CheckBox1_Click()


If CheckBox1.Value = True Then


Rows("32:40").Select


Selection.EntireRow.Hidden = True


Rows("88:99").Select


Selection.EntireRow.Hidden = True


Else


Rows("32:40").Select


Selection.EntireRow.Hidden = False


Rows("88:99").Select


Selection.EntireRow.Hidden = False


End If


Range("C12").Select


End Sub





jpleroisse





Si une réponse vous convient, cliquez Réponse Acceptée.
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
je le voyais plutôt comme ça

quoique ne connaissant pas excel c'est peut être une bêtise:







Private Sub OptionButton1_Click()

Rows("32:40").Select

Selection.EntireRow.Hidden = False

Rows("59:70").Select


Selection.EntireRow.Hidden = True

Rows("88:99").Select

Selection.EntireRow.Hidden = True

Range("C12").Select

End Sub


Private Sub OptionButton2_Click()


Rows("32:40").Select


Selection.EntireRow.Hidden = True


Rows("59:70").Select



Selection.EntireRow.Hidden = False


Rows("88:99").Select


Selection.EntireRow.Hidden = True


Range("C12").Select


End Sub



Private Sub OptionButton3_Click()


Rows("32:40").Select


Selection.EntireRow.Hidden = True


Rows("59:70").Select



Selection.EntireRow.Hidden = True


Rows("88:99").Select


Selection.EntireRow.Hidden = False


Range("C12").Select


End Sub


Daniel
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Lut,
Utilises union ça simplifiras ton code
Private Sub CheckBox1_Click()
Dim Rng
Set Rng = Union(Rows("32:40"), Rows("88:99"))


Rng.EntireRow.Hidden = CheckBox1.Value
End Sub

Private Sub CheckBox2_Click()
Dim Rng
Set Rng = Union(Rows("59:70"), Rows("88:99"))


Rng.EntireRow.Hidden = CheckBox2.Value
End Sub

Private Sub CheckBox3_Click()
Dim Rng
Set Rng = Union(Rows("32:40"), Rows("59:70"))


Rng.EntireRow.Hidden = CheckBox3.Value
End Sub
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
144
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
22 mars 2006

valtrase, ton code permet de cacjer les 2 plage de lignes de celules, mais lorsque la selection ce fait sur un autre CheckBox
il faut rendre visible ce que j'avais cacher et cacher les 2 autres zone.

en fait j'ai 3 zone je veut en fonction du chek box coché cacher les 2 plage de ligne qui ne me serve pas et lorsque k'utilisateur selectionne une autre chek box que les plage d lignes soient reaficher et quye je recahe les 2 qui ne me serve a rien et ainssi de suite ...

vive VB !!!, vive la prog !!!
Messages postés
936
Date d'inscription
lundi 19 janvier 2004
Statut
Membre
Dernière intervention
17 mars 2017
4
Re,
Désolé pour le retard mais le boulot ........
Bon je pense avoir compris ce que tu veux. Dans tes plages tu as des communs donc en fait ça simplifie le code.
si tu veux faire un choix entre les plages :
32:40 88:89
et
59:70 88:89
et
32:40 59:70

alors ce code devrais te convenir bien sur tu repasses avec des options bouton
Private Sub OptionButton1_Click()
Rows("32:40").EntireRow.Hidden = OptionButton1
Rows("88:89").EntireRow.Hidden = OptionButton1
Rows("59:70").EntireRow.Hidden = Not (OptionButton1)
End Sub


Private Sub OptionButton2_Click()
Rows("32:40").EntireRow.Hidden = Not (OptionButton2)
Rows("88:89").EntireRow.Hidden = OptionButton2
Rows("59:70").EntireRow.Hidden = OptionButton2
End Sub


Private Sub OptionButton3_Click()
Rows("32:40").EntireRow.Hidden = OptionButton3
Rows("88:89").EntireRow.Hidden = Not (OptionButton3)
Rows("59:70").EntireRow.Hidden = OptionButton3
End Sub

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Messages postés
1
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
6 juillet 2010

bonjour à tous,

Je suis novice en vb et j'ai un problème avec les radios button
Que je vous explique jai 2 formulaire tt deux comportant chacun 2 bouton chacun et je dois comparer 2
résultats

form 1 = test1 test2
form2 = erreur1 erreur2


Le but c'est de choisir dans un premier temps un bouton dans la form1 donc
le test exemple test1 et ensuite celui dans la form2 avec erreur1
le truc est quil doit me gardé en mémoire le bouton de la form2 ==> cela fonctionne
car quand j'affiche la form c ok le bouton ets bien checké (utiliser avec option2.enabled = true)


Le problème c'est quand je dois rechoisir un système d'exploitation afin de faire une comparaison
il me redonne la form2 avec le bouton valider mais ne m'exécute pas le traitement a faire
alors pour cela jsui obliger d'utiliser un radio buton qui me permet de recocher le
radio button erreur1

alors je voudrais savoir si il ya po moyen de garder activé le bouton pour quil fasse le traitement
en ne demandant que de sélectionner un radio button sur la form1 et non les 2

merci de votre aide