Bonjour à tous,
Je suis nouveau et après avoir cherché longuement je n'arrive pas à trouver une solution.
Je suis enseignant et je me suis mis dans la tête de créer sous excel un petit programme qui m'aiderait à réaliser mes TP. (Quelle idée !!!! )
J'ai tout 'abord voulu faire simple avec excel mais ce que je veux m'a obligé à utiliser des userform et des checkbox.
Donc en lisant les forum j'ai commencé de façon autodidacte à essayer de m'en sortir avec vba excel.
Rentrons dans le vif du sujet :
J'ai créer un bouton qui lance un userform.
Dans ce userform il y a des checkbox.
J'ai réussi à faire en sorte que lorsque je coche une case, l'intitulé s'écrit dans une cellule.
Puis lorsque je coche plusieurs case, les intitulés apparaissent dans d'autres cellules.
Comme ça :
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
[a4] = "TETE"
Else
[a4] = ""
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
[a5] = "TITI"
Else
[a5] = ""
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
[a6] = "TOTO"
Else
[a6] = ""
End If
End Sub
Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then
[a7] = "TUTU"
Else
[a7] = ""
End If
End Sub
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
[a3] = "TATA"
Else
[a3] = ""
End If
End Sub
Oui je sais : c'est le foutoirs
TATA, TOTO, ... sont, bien sur, pour l'exercice
Mon userform comportera une bonne cinquantaine de cases à cocher
Ce que j'essaie de faire est que si je ne coche pas mon premier checkbox, le résultat du prochain prend la place sur la première cellule.
Je voudrais éviter donc d'avoir le résultat d'une liste sur une feuille excel avec des cellules vides entre elles.
Voilà vous savez tout.
Je vous remercie de la lecture de ce message et du temps que vous pourrez me consacrer.
Ps: si je ne suis pas assez clair, faites le moi savoir
Cordialement
Rgweltaz
Re ps : le fichier joint pour plus de compréhension
Je suis nouveau et après avoir cherché longuement je n'arrive pas à trouver une solution.
Je suis enseignant et je me suis mis dans la tête de créer sous excel un petit programme qui m'aiderait à réaliser mes TP. (Quelle idée !!!! )
J'ai tout 'abord voulu faire simple avec excel mais ce que je veux m'a obligé à utiliser des userform et des checkbox.
Donc en lisant les forum j'ai commencé de façon autodidacte à essayer de m'en sortir avec vba excel.
Rentrons dans le vif du sujet :
J'ai créer un bouton qui lance un userform.
Dans ce userform il y a des checkbox.
J'ai réussi à faire en sorte que lorsque je coche une case, l'intitulé s'écrit dans une cellule.
Puis lorsque je coche plusieurs case, les intitulés apparaissent dans d'autres cellules.
Comme ça :
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
[a4] = "TETE"
Else
[a4] = ""
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
[a5] = "TITI"
Else
[a5] = ""
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
[a6] = "TOTO"
Else
[a6] = ""
End If
End Sub
Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then
[a7] = "TUTU"
Else
[a7] = ""
End If
End Sub
Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub
Private Sub UserForm_Click()
End Sub
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
[a3] = "TATA"
Else
[a3] = ""
End If
End Sub
Oui je sais : c'est le foutoirs
TATA, TOTO, ... sont, bien sur, pour l'exercice
Mon userform comportera une bonne cinquantaine de cases à cocher
Ce que j'essaie de faire est que si je ne coche pas mon premier checkbox, le résultat du prochain prend la place sur la première cellule.
Je voudrais éviter donc d'avoir le résultat d'une liste sur une feuille excel avec des cellules vides entre elles.
Voilà vous savez tout.
Je vous remercie de la lecture de ce message et du temps que vous pourrez me consacrer.
Ps: si je ne suis pas assez clair, faites le moi savoir
Cordialement
Rgweltaz
Re ps : le fichier joint pour plus de compréhension
Pièces jointes
Dernière édition: