Mise à jour COmboxBox

Bonjour le forum,

J'utilise ce code (merci le forum) pour alimenter ma Combobox.

Tout fonctionne à la perfection sauf dans le cas ou je supprime une ligne complète de mon tableau de données se référant à ma Combobox, la valeur reste en mémoire...

Il faut que je ferme le fichier et que je l'ouvre de nouveau pour que la valeur supprimée disparaisse.

On a l'impression qu'il manque un refresh ou quelque chose du style....

Merci de votre aide.

Private Sub UserForm_Initialize()

Dim i As Integer

For i = 11 To Sheets("Données").Range("A65536").End(xlUp).Row

With ComboBox1

.AddItem Sheets("Données").Range("A" & i)

End With

Next

End Sub

Bonjour,

2 petites questions :

- Comment supprimes-tu ta ligne (manuellement ou à partir de l'USF)?

- comment masques-tu ton USF (.Hide, ou Unload)?

Re-,

en attendant ta réponse..

un exemple :

Private Sub CommandButton1_Click()
With Me.ComboBox1
    If .Value <> "" Then
        Sheets("Données").Rows(.ListIndex + 11).Delete
        .RemoveItem (.ListIndex)
        .Value = ""
    End If
End With
End Sub

Private Sub UserForm_Initialize()
Dim I As Integer
With Sheets("Données")
    For I = 11 To .Range("A65536").End(xlUp).Row
        Me.ComboBox1.AddItem .Range("A" & I)
    Next I
End With
End Sub

ici, si la valeur du combobox est différente de "", on supprime la ligne (qui correspond à ListIndex de la combo +11, la première donnée étant 0.

Puis, on supprime cette valeur du combo

Le combo est à jour

Nota, pour décharger un USF, il est préférable d'utiliser "Unload Me", que Hide, si tu ne dois pas conserver les options et autres textboxs...... que tu as entrés dans l'usf

Bonjour CousinHub,

Pour supprimer la ligne, je le fais en effet par méthode manuelle.

Pour décharger le UserForm, j'utilise HIde.

Je vais essayer ce que tu me proposes.

Merci

J'ai essayé avec Unload et pas de souci la valeur a bien disparu.

Merci de ton aide, encore un sujet résolu.

Rechercher des sujets similaires à "mise jour comboxbox"