Userform et checkbox ....

Résolu
guitch1101 Messages postés 30 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 19 juillet 2005 - 2 nov. 2004 à 11:59
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 2 nov. 2004 à 17:12
Bonjour les gens ...

Pitite qst ...

En VBA excel, je me suis crée un userForm avec des choses de ce genre :

private sub ChekBox1_click()
tableau1(indice1) = "janvier"
ReDim Preserve tableau1(UBound(tableau1) + 1)
indice1 = indice1 + 1
end sub

etc etc pour les autres mois ...

Ma question est que lorsque je coche par exemple le mois de janvier (codé ci dessus) et que je le décoche, dans mon tableau, le mois de janvier apparait 2 fois !!!!! au lieu d'etre absent ... ???

Je ne croit pas que ce soit difficile à réaliser cependant, j'ai essayé de faire un private sub UnCheckBox1 ... sans succès.

MERCI BEAUCOUP A LA BONNE AME QUI M'AIDERA :)

Guitch. (débutant toujours mais en grand progrés quand meme :shy) )

4 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 nov. 2004 à 12:34
Salut,

C est normal qu il apparaissent 2 fois car le sub Click ne fait pas la difference entre check et uncheck.

Il faut que a l interieur de cette sub tu teste la valeur de checkbox.
(checkbox.value je crois)

donc ca donnerai
private sub ChekBox1_click()
if ChekBox1.value = 1 then 
   tableau1(indice1) = "janvier"
   ReDim Preserve tableau1(UBound(tableau1) + 1)
   indice1 = indice1 + 1
end if
end sub

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 nov. 2004 à 12:35
Normal, à l'événement click, que le checkbox soit coché ou non, tu incrémente le nombre d'entrée dans ton tableau !
Fais un teste sur la propriété Value de ton checkbox
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
guitch1101 Messages postés 30 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 19 juillet 2005
2 nov. 2004 à 15:44
merci beaucoup ....

Il y a juste que ce n'est pas "1" mais "true"

Par contre je suis en plein test pour effacer ma valeur entrée dans le tableau dans le cas ou l'on décoche.

Pour moi il me semble qu'il faut que je recherche l'endroit dans mon tableau ou j'ai ma valeur à retirer, ensuite, il fat que je décale mon tableau ...

J'ai essayé cela mais sans succès .....

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
tableau1(indice1) = "janvier"
ReDim Preserve tableau1(UBound(tableau1) + 1)
indice1 = indice1 + 1
End If
If CheckBox1.Value = False Then
For i = 0 To indice1
If tableau1(i) = "janvier" Then
For j = i To indice1
tableau1(j) = tableau1(i + 1)
i = i + 1
Next j
End If
Next i
End If
End Sub

Merciiiiiiiiii encore :)

Guitch.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 nov. 2004 à 17:12
Re,

Content d avoir pu aider ;)
Pour la supression , essaie en utilisant une matrice temporelle
au dimension UBound(tableau1) - 1

et tu recopie tout sauf le mois decoche...

et apres tu repasse ta matrice temporelle dans ta matrice principale... je te l acorde c est un peu barbare

Une question ta matrice solamente peu avoir 12 elements (12 mois) ou plus ?

sinon tu mets simplement la valeur a "" pour le mois decocher.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
Rejoignez-nous