VBA Filtrer lors de l'initialisation d'un combobox

Matt51100

XLDnaute Occasionnel
Bonjour à tous,

La petite question qui m'amène aujourd'hui est la suivante :

J'initialise un combobox à partir de ceci :

Code:
Private Sub UserForm_Initialize()

For i = 1 To Sheets.Count
Me.ComboBox1.AddItem Sheets(i).Name
Next i

End Sub

Je me retrouve avec une liste contenant tous les noms de feuilles de mon classeur. Hors maintenant, j'ai besoin que certaines feuilles ne s'affiche pas. Ce sont des feuilles créées et supprimées automatiquement dont le nombre peut varier au fil du temps.

Elles ont cependant un dénominateur commun, les noms de toutes ces feuilles commence par "DMA". Donc avec quelque chose comme ça :

Code:
Left(Sheets(xx).Name, 3) = "DMA"

Je peux donc les identifier. Mais comment les enlever de ma liste.

Merci d'avance.

A+, Matt.
 

jpb388

XLDnaute Accro
Re : VBA Filtrer lors de l'initialisation d'un combobox

Bonjour le forum
Code:
Private Sub UserForm_Initialize()

 For i = 1 To Sheets.Count
  If Left(Sheets(xx).Name, 3) <> "DMA" Then
    Me.ComboBox1.AddItem Sheets(i).Name
  End If
 Next i

 End Sub
 

yassoux

XLDnaute Nouveau
Re : VBA Filtrer lors de l'initialisation d'un combobox

Bonjour,

peut être qu'avec quelque chose comme ça :
Code:
Private Sub UserForm_Initialize()

 For i = 1 To Sheets.Count
  If not Sheets(xx).Name like ("DMA*") Then
    Me.ComboBox1.AddItem Sheets(i).Name
  End If
 Next i

 End Sub
 

Discussions similaires

Réponses
4
Affichages
524

Statistiques des forums

Discussions
312 294
Messages
2 086 928
Membres
103 404
dernier inscrit
sultan87