[VBA] Combobox dans userform (avec autofilter) sans doublons

  • Initiateur de la discussion Initiateur de la discussion rhj94
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rhj94

XLDnaute Nouveau
Bonjours à tous !

Je tiens à vous dire tout d'abord que je suis nouveau sur VBA et que j'apprends sur le tas depuis hier (soyez indulgent avec moi 😱 )

J'ai crée un userform avec des combobox qui jouent le rôle de filtres avec autofilter.
J'ai trouvé un modèle sur internet que j'ai réadapté à ma situation.
Lorsque que sélectionne le premier combobox (sélection du mois) cela me permet ensuite de sélectionner le jour de ce mois dans le second combobox, tout en redimensionnant le tableau pour n'afficher que les données dont j'ai besoin.
Cependant lorsque je veux sélectionner la date dans ce mois, cela me fait apparaître un nombre importants de doublons. J'ai trouvé quelques codes sur internet, mais je n'arrive pas à les adapter.

J'ai également un deuxième soucis. Lorsque j'ouvre le Userform, que je sélectionne le mois, et qu'ensuite je passe sur la date et que j'appuie sur flèche bas, un message d'erreur s'affiche :

Erreur d'exécution '6'
Dépassement de capacité.


Et dans mon code, une partie est surligné en jaune :

ReDim TabC(0 To r.Count - 1)

Voilà voilà 🙂
En espérant avoir été clair, je vous remercie par avance pour votre aide 🙂

Ps : mon fichier est en pièce jointe (onglet "sheet1")
 

Pièces jointes

Re : [VBA] Combobox dans userform (avec autofilter) sans doublons

Bonjour rhj94

ton fichier en retour concernant l'alimentation du second combobox
Code:
Private Sub ComboBox1_Click()
Dim TabB(31) ' ************ Modif **************
Dim Cell As Range
Dim r As Range
Dim i As Integer
Dim L As Integer
Dim zzz As Integer ' ************ ajout *****************
ComboBox2.Clear
ComboBox3.Clear
With WS1.Range("A1")
.AutoFilter 1, ComboBox1
.AutoFilter 2
.AutoFilter 3
End With
L = WS1.Range("B65536").End(xlUp).Row
Set r = WS1.Range("B2:B" & L)
Set r = r.SpecialCells(xlCellTypeVisible)
' ******* modif ci-dessous ***************
For Each Cell In r
zzz = CInt(Day(Cell.Value))
TabB(zzz) = Cell.Value
Next
Me.ComboBox2.List = TabB
End Sub

à+
Philippe
 

Pièces jointes

Re : [VBA] Combobox dans userform (avec autofilter) sans doublons

Salut à nouveau !

Je reviens parce que j'ai un petit problème :S

En fait ta solution fonctionne parfaitement, mais j'ai toujours le message d'erreur "Dépassement de capacité - Erreur 6" lorsque je sélectionne le mois "Janvier" et la date "01/01/2013"...

De plus la ligne " ReDim TabC(0 To r.Count - 1) " est surlignée en jaune. Je pense que l'erreur est en rapport avec le fait que ce soit une date avec "01/01" qui fait que ça bug...ça doit surement être facile pour quelqu'un d'expérimenté mais je suis débutant sur VBA 😱

Merci de votre aide !
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
233
Réponses
3
Affichages
193
Réponses
38
Affichages
888
Réponses
4
Affichages
243
Retour