Formulaire - Problème filtre
j'ai le tableau ci-joint avec des donnees classees par "ref" (2016CT001, 2016CT002 ETC).
Mon formulaire marche tres bien pour ajouter/modifier / consulter les donnees d'apres la REF selectionnee.
Je voudrais pouvoir aussi afficher les donnees de toutes les REF pour un meme mois
ex: si dans mon formulaire, au lieu de choisir la reference, je selectionne un mois donne par ex 01 - JAN alors mon formulaire m'affiche toutes les donnees de la 1ere ref de fevrier cad 2016CT001, Puis en cliquant sur Next 2016CT003 qui est la derniere ref de Janvier.
les numeros de ref sont consecutifs mais pas les mois, dans le fichier ci-joint 2016CT001= Janvier, 2016CT002 = Fevrier, 2016CT003 = Janvier....
Pour info le vrai tableau a 142 Lignes et le nombre de reference par mois varie
voice le code que j'ai adapte d'un site, mais il ne me fait apparaitre que les cellules vides de la colonne 1 "month"........
Private Sub MONTH_Change()
Dim rSource As Range
Dim lFld As Long
Dim sCrit As String
sCrit = Me.MONTH.Value
lFld = 1
Dim rData As Range
With ThisWorkbook.Worksheets("recap")
Set rData = .Range(.Cells(2, 1), .Cells(.Rows.Count, 44).End(xlUp))
If Not .AutoFilterMode Then .Cells(2, 44).AutoFilter
.Cells(2, 44).AutoFilter Field:=lFld, Criteria1:=sCrit
On Error Resume Next
Set rSource = .AutoFilter.Range.SpecialCells(xlCellTypeVisible)
GetData
On Error GoTo 0
Set rSource = .Cells(2, 44).CurrentRegion
End With
With Me.REF
.RowSource = ""
.RowSource = rSource.Address(external:=True)
End With
end sub
quelqu'un pourrait il m'aider?
Bonjour,
Votre fichier en PJ doit faire plus de 300Ko, donc impraticable après téléchargement.
Il faut faut passer par un serveur extérieur genre CIJOINT
c bon maintenant? j'ai du le reduire au minimum du minimum...
Niet,
Il s'ouvre pas !
Bonjour,
Après quelques déboires, et réparations du fichier, le voici à la disposition du forum.
Bon, j'ai regardé et j'ai fermé le fichier. Il y a certainement des courageux pour aider notre ami.
Cdlt.
J'ai retravaille le code comme suit, mais je ne sais pas a quel endroit mettre "GetData" afin d'afficher les donnees de laa 1ere reference du mois choisit et dire que "next n'amene pas au no de ref suivant mais a la reference suivante concernant le mois choisit
Pour l'instant le code me filtre bien les donnees du tableau 1 (comme si je le faisais manuellement directement du titre de colonne) mais le formulaire reste vide.....
Private Sub MONTH_Change()
Dim rSource As Range
Dim lFld As Long
Dim oCtrl As MSForms.Control
Dim sCrit As String
sCrit = Me.MONTH.Value
lFld = 1
Dim rData As Range
With Sheet1
Set rData = .Range(.Cells(1, 1), .Cells(.Rows.Count, 44).End(xlUp))
If Not .AutoFilterMode Then .Cells(1, 1).AutoFilter
.Cells(1, 1).AutoFilter Field:=lFld, Criteria1:=sCrit
On Error Resume Next
Set rSource = .AutoFilter.Range.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
.Cells(1, 200).CurrentRegion.ClearContents
rSource.Copy .Cells(1, 200)
Set rSource = .Cells(2, 200).CurrentRegion
Set rSource = rSource.Offset(1, 0).Resize(rSource.Rows.Count - 1, _
rSource.Columns.Count)
End With
With Me.MONTH
.RowSource = ""
.RowSource = rSource.Address(external:=True)
End With
End Sub