filtrer Numéro de semaine listbox

  • Initiateur de la discussion Initiateur de la discussion jtitin
  • 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 !

jtitin

XLDnaute Occasionnel
bonjour à tous
j'ai un userform avec 3 listbox (Année, Mois, Semaine)
je cherche a faire ceci:
je sélectionne l'année puis le Mois
lorsque je clic sur un mois de la listbox (Mois) je réinitialise la listbox (Semaine) pour n'afficher que les semaines du mois sélectionné
ci joint un fichier plus explicite

merci pour votre aide
 

Pièces jointes

Re : filtrer Numéro de semaine listbox

Bonjour

voici une fonction pour obtenir le n° de semaine européene par rapport à une date

Code:
Function NoSemEur(MaDate As Date) As Integer
NoSemEur = DatePart("ww", MaDate, 2, 2)
End Function

de là vous pouvez trouver les n° entre deux dates
 
Re : filtrer Numéro de semaine listbox

merci Gilbert_RGI pour ta réponse
j'utilise déjà une fonction pour alimenter ma base avec les numéro de semaine
je souhaite en sélectionnant avec 2 listbox année et mois afficher dans la 3 ème listbox uniquement les N° de semaine du mois concerné

merci
 
Re : filtrer Numéro de semaine listbox

possibilités

Code:
Function NoSemEur(MaDate As Date) As Integer
NoSemEur = DatePart("ww", MaDate, 2, 2)
End Function

Function derjourb(LaDate As Date)
  If Month(LaDate) = 12 Then
   derjourb = CDate("01/01/" & Year(LaDate) + 1) - 1
  Else
   derjourb = CDate("01/" & Month(LaDate) + 1 & "/" & Year(LaDate)) - 1
  End If
End Function

Sub test()
Dim PremierJour As Date
Dim DernierJour As Date
Dim j, i As Integer
PremierJour = Sheets(1).Cells(4, 1).Value
DernierJour = derjourb(PremierJour)
numdebut = NoSemEur(PremierJour)
numfin = NoSemEur(DernierJour)
For j = numdebut To numfin
Sheets(1).Cells(4 + i, 11).Value = j
i = i + 1
Next
End Sub

je vous laisse les modifications à faire pour que ça fonctionne dans votre Userform 😛
 
Re : filtrer Numéro de semaine listbox

Bonjour à tous,

Regarde ceci, fait sur ton fichier (je n'ai traité que les 3 listes - deux Sub: UserForm_Initialize et ListeMois_Change). Cela a l'air de fonctionner mais il reste à ajouter le code pour être sûr qu'une année ait été sélectionnée avant de sélectionner un mois ou relancer si l'on modifie l'année après avoir sélectionné le mois ... avec message éventuel ...etc enfin tout ce qu'il faut pour faire un truc sérieux 🙂

(c'est issu des nombreux exemples donnés dans le tutoriel de Boisgontier)

Nota : comme je mets toujours Option Explicit en début de module, il est possible que le reste de ton code te mette une erreur sur les déclarations de variables ; je n'ai pas vérifié...

Cordialement
 

Pièces jointes

Dernière édition:
Re : filtrer Numéro de semaine listbox

merci Gilbert_RGI pour ton aide
mais je n'arrive pas à tranformer ton code

PremierJour = 01/ et listbox1 /et listbox2 (01/mois/année)

puis partant de là
incrémenter listbox3

For j = numdebut To numfin
listbox3.additem

merci encore
 
- 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
16
Affichages
1 K
  • Question Question
Microsoft 365 N° de semaine
Réponses
4
Affichages
368
Retour