Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté
dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce
module et écrire dans le _Click l'instruction InverseAmAv.
Puis dans le userform Initialize, faire une référence pour chacun des
ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s !
Je travaille avec VBA
J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click()
j = 1
InverseAmAv
End Sub
Private Sub ToggleButton2_Click()
j = 2
InverseAmAv
End Sub
Private Sub ToggleButton3_Click()
j = 3
InverseAmAv
End Sub
etc....
Est-il possible d' écrire une seule fois la fonction ?
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
Polus
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
Ouf !
Il semble que j' ai encore des croûtes à manger....
En supposant qu'un module de classe soit clair pour moi, comment faire
référence pour chacun des ToggleButton au controle nouvellement déclaré ?
For I=1 to 30
ToggleButton(I) référence au nouveau control ????
Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté
dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce
module et écrire dans le _Click l'instruction InverseAmAv.
Puis dans le userform Initialize, faire une référence pour chacun des
ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s !
Je travaille avec VBA
J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click()
j = 1
InverseAmAv
End Sub
Private Sub ToggleButton2_Click()
j = 2
InverseAmAv
End Sub
Private Sub ToggleButton3_Click()
j = 3
InverseAmAv
End Sub
etc....
Est-il possible d' écrire une seule fois la fonction ?
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
anonymousA
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
je te donne un exemple à base de combobox mais le principe est le même
ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble
des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un
combobox, le fichier correpondant s'active.
Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1
'on peut remplacer ce tableau par une collection mais il ne faudra
'pas oublier d'ajouter à chaque fois un memebre à la collection par la
'méthode Add de l'objet collection lorsque tu feras pointer ton combobox
'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks
Me.ComboBox1.AddItem wbk.Name
Me.ComboBox2.AddItem wbk.Name
Next
I = 1
For Each Ctl In Me.Controls
If TypeOf Ctl Is MSForms.ComboBox Then
Set TABCOMB(I).comb = Ctl
I = I + 1
End If
Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf !
Il semble que j' ai encore des croûtes à manger....
En supposant qu'un module de classe soit clair pour moi, comment faire
référence pour chacun des ToggleButton au controle nouvellement déclaré ?
For I=1 to 30
ToggleButton(I) référence au nouveau control ????
Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté
dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce
module et écrire dans le _Click l'instruction InverseAmAv.
Puis dans le userform Initialize, faire une référence pour chacun des
ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s !
Je travaille avec VBA
J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click()
j = 1
InverseAmAv
End Sub
Private Sub ToggleButton2_Click()
j = 2
InverseAmAv
End Sub
Private Sub ToggleButton3_Click()
j = 3
InverseAmAv
End Sub
etc....
Est-il possible d' écrire une seule fois la fonction ?
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
anonymousA
Il faut bien sur que le module de classe soit appelé Classe1 dans l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
Il faut bien sur que le module de classe soit appelé Classe1 dans
l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même
ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble
des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un
combobox, le fichier correpondant s'active.
Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1
'on peut remplacer ce tableau par une collection mais il ne faudra
'pas oublier d'ajouter à chaque fois un memebre à la collection par la
'méthode Add de l'objet collection lorsque tu feras pointer ton combobox
'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks
Me.ComboBox1.AddItem wbk.Name
Me.ComboBox2.AddItem wbk.Name
Next
I = 1
For Each Ctl In Me.Controls
If TypeOf Ctl Is MSForms.ComboBox Then
Set TABCOMB(I).comb = Ctl
I = I + 1
End If
Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf !
Il semble que j' ai encore des croûtes à manger....
En supposant qu'un module de classe soit clair pour moi, comment faire
référence pour chacun des ToggleButton au controle nouvellement déclaré ?
For I=1 to 30
ToggleButton(I) référence au nouveau control ????
Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté
dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce
module et écrire dans le _Click l'instruction InverseAmAv.
Puis dans le userform Initialize, faire une référence pour chacun des
ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s !
Je travaille avec VBA
J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click()
j = 1
InverseAmAv
End Sub
Private Sub ToggleButton2_Click()
j = 2
InverseAmAv
End Sub
Private Sub ToggleButton3_Click()
j = 3
InverseAmAv
End Sub
etc....
Est-il possible d' écrire une seule fois la fonction ?
Il faut bien sur que le module de classe soit appelé Classe1 dans l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
Polus
MERCI BEAUCOUP !
"anonymousA" wrote:
Il faut bien sur que le module de classe soit appelé Classe1 dans l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?
Merci à l' avance
MERCI BEAUCOUP !
"anonymousA" wrote:
Il faut bien sur que le module de classe soit appelé Classe1 dans
l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même
ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble
des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un
combobox, le fichier correpondant s'active.
Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1
'on peut remplacer ce tableau par une collection mais il ne faudra
'pas oublier d'ajouter à chaque fois un memebre à la collection par la
'méthode Add de l'objet collection lorsque tu feras pointer ton combobox
'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks
Me.ComboBox1.AddItem wbk.Name
Me.ComboBox2.AddItem wbk.Name
Next
I = 1
For Each Ctl In Me.Controls
If TypeOf Ctl Is MSForms.ComboBox Then
Set TABCOMB(I).comb = Ctl
I = I + 1
End If
Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf !
Il semble que j' ai encore des croûtes à manger....
En supposant qu'un module de classe soit clair pour moi, comment faire
référence pour chacun des ToggleButton au controle nouvellement déclaré ?
For I=1 to 30
ToggleButton(I) référence au nouveau control ????
Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté
dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce
module et écrire dans le _Click l'instruction InverseAmAv.
Puis dans le userform Initialize, faire une référence pour chacun des
ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s !
Je travaille avec VBA
J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click()
j = 1
InverseAmAv
End Sub
Private Sub ToggleButton2_Click()
j = 2
InverseAmAv
End Sub
Private Sub ToggleButton3_Click()
j = 3
InverseAmAv
End Sub
etc....
Est-il possible d' écrire une seule fois la fonction ?
Il faut bien sur que le module de classe soit appelé Classe1 dans l'exemple en question.
je te donne un exemple à base de combobox mais le principe est le même ici c'est un exemple avec 2 combobox qui se nourissent de l'ensemble des fichiers ouverts à l'instant T et quand tu cliques sur un item d'un combobox, le fichier correpondant s'active. Je pense que tu pourras adapter facilement cette proc à tes souhaits.
Dans le module du userform , tu écris
Dim TABCOMB(1 To 2) As New Classe1 'on peut remplacer ce tableau par une collection mais il ne faudra 'pas oublier d'ajouter à chaque fois un memebre à la collection par la 'méthode Add de l'objet collection lorsque tu feras pointer ton combobox 'du userform vers le combobox du module de classe
Private Sub UserForm_Initialize()
For Each wbk In Workbooks Me.ComboBox1.AddItem wbk.Name Me.ComboBox2.AddItem wbk.Name Next
I = 1 For Each Ctl In Me.Controls If TypeOf Ctl Is MSForms.ComboBox Then Set TABCOMB(I).comb = Ctl I = I + 1 End If Next Ctl
End Sub
et dans le module de classe tu écris,
Public WithEvents comb As MSForms.ComboBox
Private Sub comb_Change()
Workbooks(comb.Value).Activate
End Sub
A+
Ouf ! Il semble que j' ai encore des croûtes à manger.... En supposant qu'un module de classe soit clair pour moi, comment faire référence pour chacun des ToggleButton au controle nouvellement déclaré ? For I=1 to 30 ToggleButton(I) référence au nouveau control ???? Next
"anonymousA" wrote:
bonjour,
Faire un module de classe et vérifer que l'venement Click est accepté dans ce module.Si c'est le cas, le déclarer Public withEvents dans ce module et écrire dans le _Click l'instruction InverseAmAv. Puis dans le userform Initialize, faire une référence pour chacun des ToggleButton au controle déclaré dans le mmodule de classe.
Et le tour est joué.
A+
Bonjour mes ami(e)s ! Je travaille avec VBA J' ai 30 ToggleButton qui font tous la même chose:
Private Sub ToggleButton1_Click() j = 1 InverseAmAv End Sub
Private Sub ToggleButton2_Click() j = 2 InverseAmAv End Sub
Private Sub ToggleButton3_Click() j = 3 InverseAmAv End Sub
etc.... Est-il possible d' écrire une seule fois la fonction ?