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

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 :eek: )

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

  • tEST.xlsm
    139 KB · Affichages: 107
  • tEST.xlsm
    139 KB · Affichages: 100
  • tEST.xlsm
    139 KB · Affichages: 104

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsm
    139.2 KB · Affichages: 135
  • 111.xlsm
    139.2 KB · Affichages: 154
  • 111.xlsm
    139.2 KB · Affichages: 146

rhj94

XLDnaute Nouveau
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 :eek:

Merci de votre aide !
 

Pièces jointes

  • Copie fichier Rémi.xlsm
    91.3 KB · Affichages: 116

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL