bonsoir
je suis bientot à bout de mon programme, je voudrais savoir comment faire pour supprimer dans un combox2 les cellules vide charger depuis ma base de donnée.
voici un exemple
bonsoir
je suis bientot à bout de mon programme, je voudrais savoir comment faire pour supprimer dans un combox2 les cellules vide charger depuis ma base de donnée.
voici un exemple
En testant le contenu de la cellule, peut-être
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Private Sub UserForm_Initialize() Dim Cellule As Range Dim balan As Range Dim counter As Range Dim oCollection As New Collection Dim i As Long For Each Cellule In Feuil4.Range("a2:a" & Feuil4.Range("a" & Rows.Count).End(xlUp).Row) If Cellule <> "" Then _ AjouterItem oCollection, Cellule.Value 'ici ********* Next Cellule For i = 1 To oCollection.Count ComBox1.AddItem oCollection.Item(i) Next i For Each balan In Feuil4.Range("b2:b" & Feuil4.Range("b" & Rows.Count).End(xlUp).Row) If balan <> "" Then _ AjouterItem oCollection, balan.Value ' et ici ******** Next balan For i = 1 To oCollection.Count ComBox2.AddItem oCollection.Item(i) Next i For i = 1 To oCollection.Count ComBox2.AddItem oCollection.Item(i) Next i End Sub
j'ai chargée ton code dans mon programme, celui-ci n'indique pas d'erreur mais ne fait rien. Il ne m'élimine pas mes cellules vides.
J'ai corrigé le code sur ton fichier et l'ai testé. Dans ComBox1 tu n'as qu'un objet dans ta collection "NORD". Tu ne l'as donc qu'une fois.
Dans Combo2, les cellules vides sont supprimées. Quant à Combo3, si on sélectionne une valeur dans combox2, tu as bel et bien le choix entre plusieurs durées.
Par contre, ajoute un combox2.clear avant de le remplir. Ce que tu as sont des réminiscences d'anciennes manips.Il est même possible que les collections te jouent des tours.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ComBox2.Clear For i = 1 To oCollection.Count ComBox2.AddItem oCollection.Item(i) Next i
Je n'ai plus en tête le code pour les vider par une seule ligne de commande.
On peut le faire par une boucle mais je sais qu'il y a plus simple.
Tu dis si avec ComBox2.Clear tu as toujours le problème.
Ceci dit si tu enregistres ton fichier, que tu le fermes et que tu le rouvres, toutes les variables seront ré-initialisées.
Et remets Option explicit et déclare toutes tes variables. Option Explicit est un mal nécessaire !
A+
Partager