Chercher les dates correspondant à un mois choisit

evilson

XLDnaute Nouveau
Bonjour,

Je souhaite identifier dans un fichier (et faire un copier-coller sur une autre feuille), toutes les lignes dont la date appartient au mois selectionné dans une liste déroulante.

Le seul moyen que j'ai trouvé pour l'instant de pouvoir avoir un mois en toute lettre dans la liste déroulante, c'est de transformer les mois en chiffre, sinon Excel refuse de me les exploiter.

Voici donc comment je fais :

Code:
Call cherchermois(moislettre)

Do Until a = 253
    mois = DatePart("m", (Sheets("Données").Cells(a, 2)))
    If mois = moislettre Then

Je ne vous met qu'un extrait, le reste étant un basique copier-coller

Et voici la macro cherchermois

Code:
Sub cherchermois(ByRef moislettre As Integer)

Sheets("Indicateur").Activate
If Range("D2") = "Janvier" Then
moislettre = 1
GoTo ok
End If
If Range("D2") = "Février" Then
moislettre = 2
GoTo ok
End If
If Range("D2") = "Mars" Then
moislettre = 3
GoTo ok
End If
If Range("D2") = "Avril" Then
moislettre = 4
GoTo ok
End If
If Range("D2") = "Mai" Then
moislettre = 5
GoTo ok
End If
If Range("D2") = "Juin" Then
moislettre = 6
GoTo ok
End If
If Range("D2") = "Juillet" Then
moislettre = 7
GoTo ok
End If
If Range("D2") = "Août" Then
moislettre = 8
GoTo ok
End If
If Range("D2") = "Septembre" Then
moislettre = 9
GoTo ok
End If
If Range("D2") = "Octobre" Then
moislettre = 10
GoTo ok
End If
If Range("D2") = "Novembre" Then
moislettre = 11
GoTo ok
End If
If Range("D2") = "Décembre" Then
moislettre = 12
GoTo ok
End If

ok:

End Sub

N'y a -t-il pas une solution moins lourde pour obtenir le même résultat ? Excel ne peut vraiment pas identifier le mois et chercher toutes les dates appartenant à ce mois ?

Merci d'avance pour votre aide.

Très cordialement,

Evilson
 

Pierrot93

XLDnaute Barbatruc
Re : Chercher les dates correspondant à un mois choisit

Bonjour,


pas tout compris de ton besoin, mais ci dessous 2 fonctions vba qui renvoie un mois
Code:
'le numéro du mois
MsgBox Month(Range("A1").Value)
'le nom du mois
MsgBox MonthName(Month(Range("A1").Value))

bon aprsè midi
@+
 

Gorfael

XLDnaute Barbatruc
Re : Chercher les dates correspondant à un mois choisit

Salut evilson et le forum
Le seul moyen que j'ai trouvé pour l'instant de pouvoir avoir un mois en toute lettre dans la liste déroulante,
Pas foule au niveau des informations !
Plusieurs possibilités. En admettant que la liste déroulante contienne les mois de janvier à décembre :
- Contrôle issu de la barre "Formulaire" => la cellule liée contient un nombre représentant le mois.
- Contrôle issu de la barre "Boîte à outils contrôle" => Listindex + 1
- Liste de validation => plus chiant, la cellule ne contient que le mois. Mais on peut lui associer une cellule avec une formule rechercheV() pour retrouver le numéro du mois.

À mon sens, c'est le contrôle issu de la "Boîte à outils contrôle" qui est le plus adapté, vu qu'il lance directement une macro, Combo_Change.
après, c'est une simple comparaison :
Code:
Dim X as long

For X= 1 to Sheets("Données").Cells(rows.count,"B").end(xlup).row
    if month(Sheets("Données").Cells(X,"B"))= Me.combobox then


next X
Petite remarque sur ton code : ta suite de If peut être avantageusement remplacée par un select case.
Et à voir le peu que tu nous donnes, je pense que si on avait l'intégralité de ton code, il pourrait subir facilement une cure d'amaigrissement :p
A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 220
Messages
2 086 381
Membres
103 198
dernier inscrit
CACCIATORE