bouton bascule "option"

  • Initiateur de la discussion delirium
  • Date de début
D

delirium

Guest
Salut
J'ai une nouvelle question sur les bouton bascule.

Voila j'suis débutant en VBA et je voudrai créer UserForm avec quatres bouttons à bascule qui lorsqu'ils son enfoncé affiche "1,2,3 et 4" dans une cellule (par exemple A1) en fonction de celui qui est en position basse et que les autres reviennent en position haute automatiquement.

Je voudrai également que lorsque l'utilisateur lanse cet UserForm, le bouton qui correspond a la valeur de la cellule A1 apparaise dans la position enfoncé et que les autre soit en position haute.

En bref réaliser des bouton d'option mais avec des boutons à bascules.

Encore une fois je ne trouve pas le code pour réaliser cela.

"A L'AIDE !!!!!!!!!!!!"

En espérant que cela est réalisable !!!

Merci @+
 
L

Lord Nelson

Guest
Rebonsoir Delirium,

Le jeu se complique, en effet, car on entre facilement dans une cascade d'évènements. En fait, tu utilises les Boutons bascules pour un usage différent de ce pourquoi ils ont été conçus...

Néanmoins, ceci devrait convenir :

Private Sub UserForm_Activate()
If Feuil1.Range("A1") > 0 And Feuil1.Range("A1") < 5 Then
Controls("ToggleButton" & CStr(Feuil1.Range("A1"))) = True
End If
End Sub

Private Sub ToggleButton1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If ToggleButton1 = True Then
ToggleButton2 = False
ToggleButton3 = False
ToggleButton4 = False
Feuil1.Range("A1") = 1
Else
Feuil1.Range("A1") = 0
End If
End Sub

Private Sub ToggleButton2_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If ToggleButton2 = True Then
ToggleButton1 = False
ToggleButton3 = False
ToggleButton4 = False
Feuil1.Range("A1") = 2
Else
Feuil1.Range("A1") = 0
End If
End Sub
Private Sub ToggleButton3_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If ToggleButton3 = True Then
ToggleButton1 = False
ToggleButton2 = False
ToggleButton4 = False
Feuil1.Range("A1") = 3
Else
Feuil1.Range("A1") = 0
End If
End Sub

Private Sub ToggleButton4_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If ToggleButton4 = True Then
ToggleButton1 = False
ToggleButton2 = False
ToggleButton3 = False
Feuil1.Range("A1") = 4
Else
Feuil1.Range("A1") = 0
End If
End Sub

C'est un peu long mais peut-être plus clair comme ça.

A+
HN
 
D

Delirum

Guest
Ca marchedu tonner, merci pour t'on aide à nouveau.

Une question.

Je voudrai savoir comment apprendre le langage pour réaliser ces codes moi même sachant que je n'ai jamais fait de programmation.

Car quand on me donne le code j'arrive à comprendre à peut prés la logique, mais quand il sagit de si mettre tous seul, c'est une autre histoire.

J'essaye de décortiquer des exemples que je télécharge, mais souvent je ne trouve pas la fonction que je souhaite. En plus la satisfaction est plus grande lorsque que l'on y arrive tous seul !!!!

Habituellement dans mes feuille excel j'utilise uniquement les fonctions et je vien de passer le cap du VBA (Ca à l'air génial).

Si quelqu'un peut me conseiller un site internet (autre que excel-downloads biensur) ou un ouvrage.

Merci et bonne contination
 
L

Lord Nelson

Guest
Salut Delirium,

C'est normal d'avoir besoin d'un coup de pouce au début, puis aussi après !
Une bonne façon d'aborder VBA est d'utiliser l'enregistreur de macros d'Excel. En général on obtient un bout de code que l'on peut ensuite "travailler" à sa main.

A+
Horatio
 
D

delirium

Guest
Oueh
C'es ce que j'essaye de faire mais sa marche rarement.

Pour m'aider je viens d'acheter un bouquin "VBA de chez Micro Application" mais c'est un peut lour dingue à lire et il explique pa sgrand chose.
Enfin j'en suis qu'au chapitre 3.

Je crois que je vais me faire un fichier avec les codes que j'utilise pour le recup au moment oportin, ce sera la meilleur solution.

Merci et @+
 

Discussions similaires

Réponses
7
Affichages
473
Réponses
8
Affichages
474

Statistiques des forums

Discussions
312 779
Messages
2 092 046
Membres
105 168
dernier inscrit
makari69