bonjour tous le monde
voila j'ai essayer de définir une variable comme union de plusieur variable pour lui a plliquer une boucle mais malheuresement cela ne fonctionne pas..
voila le code vba
en rouge le code qui ne fonctionne pas. et lorsque je click sur ma checkbox le debogueur se lane et m'affiche :erreur d'execution 1004
la méthode 'Union4 de l'objet'_Global' a echoue.
malheuresement je pe pas vous joindre le fihier car il est très gros et une partie depend souvent d'une autre. en tous cas si quelqun voit une erreu je suis prenneur.
a l'avance merci a tous bonne journée
voila j'ai essayer de définir une variable comme union de plusieur variable pour lui a plliquer une boucle mais malheuresement cela ne fonctionne pas..
voila le code vba
Code:
Private Sub CheckBox5_Click()
Option Explicit
'déclaration des variables
Private zone As Range
Private zoneb As Range
Private zone2 As Range
Private zone3 As Range
Private zone4 As Range
Private groupe As Range
...
If CheckBox5 = True Then
[COLOR="Red"][B]Set zone = Sheets("STPS.ELEC").Range("B2:B" & Sheets("STPS.ELEC").Range("B65536").End(xlUp).Row)
Set zone2 = Sheets("BIR.ELEC").Range("B2:B" & Sheets("BIR.ELEC").Range("B65536").End(xlUp).Row)
Set zone3 = Sheets("ETDE.ELEC").Range("B2:B" & Sheets("ETDE.ELEC").Range("B65536").End(xlUp).Row)
Set zone4 = Sheets("GETCHY.ELEC").Range("B2:B" & Sheets("GETCHY.ELEC").Range("B65536").End(xlUp).Row) 'définit la variable zone
Set groupe = Union(zone, zone2, zone3, zone4)[/B][/COLOR]
For Each cel In groupe 'boucle sur toutes les cellules de la variable zone
If ComboBox1.ListCount > 1 Then 'condition 1 : la combobox1 contient au moins un élément
'boucle sur tous les éléments de la combobox1
For x = 0 To ComboBox1.ListCount - 1
'condition 2 : la cellule est égale à l'élément
If cel.Value = ComboBox1.List(x) Then
GoTo suite 'va à la balise suite (sans ajouter l'élément)
End If 'fin condition 2
Next x 'prochain élément de la combobox1
End If 'fin de la condition 1
ComboBox1.AddItem cel 'ajoute l'élément à la combobox1
suite:
Next cel 'prochaine cellule de la zone
End If
iPos = 0
'Si la listbox est vide il quitte la fonction
If ComboBox1.ListCount < 1 Then Exit Sub
Do While iPos < ComboBox1.ListCount
ComboBox1.Text = ComboBox1.List(iPos)
'Verifie si le text existe deja
If ComboBox1.ListIndex <> iPos Then
'Si c'est le cas il supprime et garde la position iPos...
ComboBox1.RemoveItem iPos
Else
'Si ce n'est pas le cas il change la position iPos...
iPos = iPos + 1
End If
Loop
'Utiliser pour désélectionner la dernière ligne
If CheckBox5.Value = True Then
CheckBox1.Value = False
CheckBox2.Value = False
CheckBox3.Value = False
CheckBox4.Value = False
End If
End Sub
en rouge le code qui ne fonctionne pas. et lorsque je click sur ma checkbox le debogueur se lane et m'affiche :erreur d'execution 1004
la méthode 'Union4 de l'objet'_Global' a echoue.
malheuresement je pe pas vous joindre le fihier car il est très gros et une partie depend souvent d'une autre. en tous cas si quelqun voit une erreu je suis prenneur.
a l'avance merci a tous bonne journée