|
|
|
|
Bonjour à toutes et à tous,
Je voudrais savoir s'il y a moyen de rendre se code plus correcte, il me sert à rentrer un liste dans une combobobox, je ne veux pas utiliser RowSource, j'utilise ça mais j'en ai beaucoup à faire (pour info 13):
Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex = 1 Then
ComboBox2.Clear
ComboBox2.List = Array("Rénovation chaufferie", "Equipements annexes (cuve, conduits d'évacuation, ...)", "Réfection Réseaux de distribution", "Remplacement Emetteurs", "Remplacement D'une ou plusieurs CTA", "Remplacement de l'installation VMC")
End If
End Sub
If Me.ComboBox1.ListIndex = 2 Then
ComboBox2.Clear
ComboBox2.List = Array("Rénovation chaufferie", "Equipements annexes (cuve, conduits d'évacuation, ...)", "Réfection Réseaux de distribution", "Remplacement Emetteurs", "Remplacement D'une ou plusieurs CTA", "Remplacement de l'installation VMC")
End If
End Sub
Merci d'avance
Configuration: Windows XP Internet Explorer 6.0
Je pense que:
If (Me.ComboBox1.ListIndex = 1) or (Me.ComboBox1.ListIndex = 2) Then
ComboBox2.Clear
ComboBox2.List = Array("Rénovation chaufferie", "Equipements annexes (cuve, conduits d'évacuation, ...)", "Réfection Réseaux de distribution", "Remplacement Emetteurs", "Remplacement D'une ou plusieurs CTA", "Remplacement de l'installation VMC")
End If
End Sub
Est plus simple, si c'est le même Array.
|
J'imagine que comme moi, tu t'oublies qqes fois sur le copier/coller et que donc le contenu de la combobox2 varie selon la sélection dans la combo1.
|
Répondre à michel_m
|
Bon, j'imagine que ça fonctionne dans Excel mais à la maison je n'ai que de l'OOo donc je peux pas tester tes fonctions avec lesquelles je suis pas à l'aise.
|
Répondre à othanga
|
Bonjour,
Const NBListIx = 5 'nombre d'item dans combo1
Const NBitem = 6 'nombre maximum d'item dans combo2
Dim TB(NBListIx, NBitem)
Private Sub ComboBox1_Change()
Dim i As Byte, e As Byte
If TB(0, 0) = "" Then '1ère initialisation
GoSub InitTB
End If
ComboBox2.Clear
For i = 0 To NBitem
If TB(ComboBox1.ListIndex, i) <> "" Then
ComboBox2.AddItem TB(ComboBox1.ListIndex, i)
Else
Exit For
End If
Next i
ComboBox2.ListIndex = 0
Exit Sub
InitTB:
i = 0
a = Array("Item 1:1", "Item 1:2", "Item 1:3", "Item 1:4", "Item 1:5", "Item 1:6")
GoSub Entrer: i = i + 1
a = Array("Item 2:1", "Item 2:2", "Item 2:3", "Item 2:4", "Item 2:5", "Item 2:6")
GoSub Entrer: i = i + 1
a = Array("Item 3:1", "Item 3:2", "Item 3:3", "Item 3:4", "Item 3:5", "Item 3:6")
GoSub Entrer: i = i + 1
a = Array("Item 4:1", "Item 4:2", "Item 4:3", "Item 4:4", "Item 4:5", "Item 4:6")
GoSub Entrer: i = i + 1
a = Array("Item 5:1", "Item 5:2", "Item 5:3", "Item 5:4", "Item 5:5", "Item 5:6")
GoSub Entrer: i = i + 1
a = Array("Item 6:1", "Item 6:2", "Item 6:3", "Item 6:4", "Item 6:5", "Item 6:6")
GoSub Entrer:
Return
Entrer:
For e = 0 To UBound(a)
TB(i, e) = a(e)
Next e
Return
End Sub
A+ L'expérience instruit plus sûrement que le conseil. (André Gide) Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) |
Bonjour Lermitte222,
|