Bonjour,
J'aurais besoin d'aide.
Voilà, j'ai 30 "optionButton" a creer dans une même feuille. Elles feront toute la même chose. Mais chacune dans une ligne différente.
Voilà pour la ligne 15 par exemple :
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then
A = Me.OptionButton2.TopLeftCell.Address
B = Me.OptionButton2.BottomRightCell.Address
actlign = Range(A, B)(1, 1).Row
Tiroir = Range("c" & actlign)
With Worksheets("eone")
Set CelluleTrouvée = .Range("d4:d122").Find(What:=Tiroir, _
LookIn:=xlValues, LookAt:=xlWhole)
If CelluleTrouvée Is Nothing Then
MsgBox "pas trouvé"
Else
Ligne = CelluleTrouvée.Row
Col = CelluleTrouvée.Column + 2
toto = Worksheets("eone").Cells(Ligne, Col).Value
MsgBox ("trouvé : ligne = " & Ligne & " , colonne = " & Col)
MsgBox "La valeur trouvée """ & toto & """" & " a été copié en feuil1, cellule F25."
End If
End With
Else
Sheets("feuil1").Show
End If
J'aimerais savoir si il y a plus simple qe de répèter 25 fois le même pas ou pas ...lol...
Peut-on écrire optionbutton & i et incrémenter i...
Comment déclarer le private sub alors...
Help!!!
@++
tu pourrais le faire avec un module de classe voici un p'tit exemple
http://cjoint.com/?AJhtrfzKar9
-- isabelle
Bonjour Et Wahou... La je suis plus que dépassé... Pourrais-tu me donner qq explications sur ton exemple. Qui fait quoi et pourquoi... Merci et @++
isabelle
salut man,
'j'ai inséré un module de classe et sur la fenètre propriété je l'ai renommé MesCheckBox 'sur cette page de déclare la variable ChBx étant un objet MSForms.CheckBox Public WithEvents ChBx As MSForms.CheckBox
'sur la page code ThisWorkbook 'je défini une variable "array" GrCheckBox() pour incorporer les objets de la classe MesCheckBox
Dim GrCheckBox() As New MesCheckBox
'la macro CreerClasse est pour ajouter les objects CheckBox dans la variable GrCheckBox()
Public Sub CreerClasse() Dim c As Shape, i As Integer For Each c In ActiveSheet.Shapes If Left(c.Name, 8) = "CheckBox" Then ReDim Preserve GrCheckBox(i)
'il faut noter ici que sur la page du module de classe MesCheckBox 'j'ai définie la variable ChBx étant un objet MSForms.CheckBox
Set GrCheckBox(i).ChBx = ActiveSheet.OLEObjects(c.Name).Object i = i + 1 End If Next End Sub
'j'utilise l'événement Workbook_Open pour alimenter la classe
Private Sub Workbook_Open() CreerClasse End Sub
une fois que tout ça est en place sur le module de classe MesCheckBox tu peut voir les événements de cette nouvelle classe en sélectionnant ChBx sur le combobox (Général) (en haut du module) et tu sélectionne l'événement voulu sur le combobox (Déclarations)
note : 'il faut ajouter les références suivantes : 'Microsoft Windows Common Controls 6.0 (SP6) 'Microsoft Forms 2.0 Object Library
-- isabelle
Le 2011-10-10 08:57, man77 a écrit :
isabelle a écrit le 07/10/2011 à 19h17 :
salut man,
tu pourrais le faire avec un module de classe voici un p'tit exemple
http://cjoint.com/?AJhtrfzKar9
-- isabelle
Bonjour Et Wahou... La je suis plus que dépassé... Pourrais-tu me donner qq explications sur ton exemple. Qui fait quoi et pourquoi... Merci et @++
salut man,
'j'ai inséré un module de classe et sur la fenètre propriété je l'ai renommé MesCheckBox
'sur cette page de déclare la variable ChBx étant un objet MSForms.CheckBox
Public WithEvents ChBx As MSForms.CheckBox
'sur la page code ThisWorkbook
'je défini une variable "array" GrCheckBox() pour incorporer les objets de la classe MesCheckBox
Dim GrCheckBox() As New MesCheckBox
'la macro CreerClasse est pour ajouter les objects CheckBox dans la variable GrCheckBox()
Public Sub CreerClasse()
Dim c As Shape, i As Integer
For Each c In ActiveSheet.Shapes
If Left(c.Name, 8) = "CheckBox" Then
ReDim Preserve GrCheckBox(i)
'il faut noter ici que sur la page du module de classe MesCheckBox
'j'ai définie la variable ChBx étant un objet MSForms.CheckBox
Set GrCheckBox(i).ChBx = ActiveSheet.OLEObjects(c.Name).Object
i = i + 1
End If
Next
End Sub
'j'utilise l'événement Workbook_Open pour alimenter la classe
Private Sub Workbook_Open()
CreerClasse
End Sub
une fois que tout ça est en place sur le module de classe MesCheckBox
tu peut voir les événements de cette nouvelle classe en sélectionnant ChBx sur le combobox (Général)
(en haut du module) et tu sélectionne l'événement voulu sur le combobox (Déclarations)
note :
'il faut ajouter les références suivantes :
'Microsoft Windows Common Controls 6.0 (SP6)
'Microsoft Forms 2.0 Object Library
--
isabelle
Le 2011-10-10 08:57, man77 a écrit :
isabelle a écrit le 07/10/2011 à 19h17 :
salut man,
tu pourrais le faire avec un module de classe
voici un p'tit exemple
http://cjoint.com/?AJhtrfzKar9
--
isabelle
Bonjour Et Wahou...
La je suis plus que dépassé...
Pourrais-tu me donner qq explications sur ton exemple.
Qui fait quoi et pourquoi...
Merci et @++
'j'ai inséré un module de classe et sur la fenètre propriété je l'ai renommé MesCheckBox 'sur cette page de déclare la variable ChBx étant un objet MSForms.CheckBox Public WithEvents ChBx As MSForms.CheckBox
'sur la page code ThisWorkbook 'je défini une variable "array" GrCheckBox() pour incorporer les objets de la classe MesCheckBox
Dim GrCheckBox() As New MesCheckBox
'la macro CreerClasse est pour ajouter les objects CheckBox dans la variable GrCheckBox()
Public Sub CreerClasse() Dim c As Shape, i As Integer For Each c In ActiveSheet.Shapes If Left(c.Name, 8) = "CheckBox" Then ReDim Preserve GrCheckBox(i)
'il faut noter ici que sur la page du module de classe MesCheckBox 'j'ai définie la variable ChBx étant un objet MSForms.CheckBox
Set GrCheckBox(i).ChBx = ActiveSheet.OLEObjects(c.Name).Object i = i + 1 End If Next End Sub
'j'utilise l'événement Workbook_Open pour alimenter la classe
Private Sub Workbook_Open() CreerClasse End Sub
une fois que tout ça est en place sur le module de classe MesCheckBox tu peut voir les événements de cette nouvelle classe en sélectionnant ChBx sur le combobox (Général) (en haut du module) et tu sélectionne l'événement voulu sur le combobox (Déclarations)
note : 'il faut ajouter les références suivantes : 'Microsoft Windows Common Controls 6.0 (SP6) 'Microsoft Forms 2.0 Object Library
-- isabelle
Le 2011-10-10 08:57, man77 a écrit :
isabelle a écrit le 07/10/2011 à 19h17 :
salut man,
tu pourrais le faire avec un module de classe voici un p'tit exemple
http://cjoint.com/?AJhtrfzKar9
-- isabelle
Bonjour Et Wahou... La je suis plus que dépassé... Pourrais-tu me donner qq explications sur ton exemple. Qui fait quoi et pourquoi... Merci et @++