cs_Mathieu76
Messages postés11Date d'inscriptionmardi 18 octobre 2005StatutMembreDernière intervention 9 décembre 2006
-
8 déc. 2006 à 21:25
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
9 déc. 2006 à 14:11
Salut
Bon voila j'ai un soucis, Je voudrais créé une fonction qui serait commune a plusieur bouton je m'explique:
Chaque fois que l'on clic sur un bouton La valeur du bouton (namebutton.caption) est augmenter de 1, mais vu que je vais faire plusieur bouton qui feront la même chose je voudrais créé une fonction qui me permette d'augmenter de 1 la valeur du bouton.
Exemple:
Le button sur lequel je clic s'appel Button1
Donc
j'appel ma fonction qui s'appel Plus1 (Call Plus1)
Mais je me demande que dois-je mettre dans La fonction plus1 pour que la valeur du bouton (caption) sur lequel j'ai cliquer sois augmenter de 1 sans mettre Button1.Caption=Button1.Caption + 1 Puisque je veux que cette fonction serve pour plusieur bouton.
Merci de votre aide en espérant avoir était clair
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 8 déc. 2006 à 22:28
Salut,
il faut absolument que tes CommandButtons aient une valeur numérique en Caption.
Place leurs, à ceux que tu veux affecter, le mot mCaption à leur propriété Tag.
Ensuite colle ce code dans celui du UserForm :
Option Explicit
' Attibue le bon nombre à la place de 5
Dim Boutons(1 To 5) As New clsCommand
Private Sub Attribuer_Controls()
Dim ctl As Control
' initialise le compteur de controle
Dim CommandCount As Integer
CommandCount = 0
'le fait de mettre
"mCaption" a la propriete Tag des controles voulus,
'ca permet de trier avec les autres
For Each ctl In Me.Controls
If ctl.Tag = "mCaption" Then
CommandCount = CommandCount + 1
Set Boutons(CommandCount).MyCommand = ctl
End If
Next ctl
End Sub
Private Sub UserForm_Initialize()
Call Attribuer_Controls
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 9 déc. 2006 à 13:05
Salut,
oui, ça fonctionne. Insère la première partie dans le module du code de ton UserForm, la seconde partie doit être dans un Module de Classe (tout est mis en commentaire).
L'avantage de passer par un module de classe, que tu aies 1 ou 100 contrôles CommandButtons, le code reste le même, pas besoins de plus de lignes de code.
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Mathieu76
Messages postés11Date d'inscriptionmardi 18 octobre 2005StatutMembreDernière intervention 9 décembre 2006 9 déc. 2006 à 13:07
Sa te dérange pas de me rentrer sur msn, car enfaite c'est un peu plus complex.
Sinon tanpis je me débrouillerai
Merci déja pour ce que tu as fait
@+ Mathieu
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 9 déc. 2006 à 14:11
J'ai bien vu ton image mais j'avoue que je ne sais pas contrôler les évènements d'un contrôle, positionnés sur une feuille (c'est différent des contrôles sur un UserForm)
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>