CommandButton pour des dates

Le
JeanYvesGascon
Bonjour

Dans une feuille de rendez-vous
A6 à A4000 j'ai des dates sous le format jjj-jj-mm du lundi au
vendredi répétées 18 fois en fonctions des horaires décrits ci-dess=
ous
B6 à B4000 j'ai des horaires sous le format hh:mm avec à chaque ligne
deux fois la même valeur
avec un pas de 15 minutes (14:00; 14:00; 14:15; 14:15; 15:00 .)

Afin de faire une recherche sur la date du jour, j'ai entré en A1
=Aujourd'hui()

Grâce à un premier bouton "RdV=0" avec pour code
Private Sub CommandButton1_Click()
' Rdv du jour (RdV=O)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A1"))
End Sub

Cela fonctionne de façon impeccable

Par contre je butes pour avoir la même mécanique avec la veille "J-1"
ou le lendemain "J+1"

voulant éviter la solution
A10=A1-1 et le code
Private Sub CommandButton2_Click()
' Rdv d'hier (J-1)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A10"))
End Sub
et
A11=A1+1
Private Sub CommandButton3_Click()
' Rdv de demain (J+1)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A11"))
End Sub

Merci pour vos éclairages

Cordialement

Jean-Yves
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #23839461
Bonjour,

Utilise plutôt "AdvancedFilter" sur la plage de date

A5 est l'étiquette de la colonne

Tu dois définir une plage de critère : A1:A2
Exemple : A1 : tu laisses totalement vide
A2 : Tu insères la formule ¦>=("12/12/2011"*1)+1 OU ¦>=("12/12/2011"*1)-1 selon le cas
Si tu préfères, tu peux remplacer la date "12/12/2001" par une référence à une adresse particulière
de cellule
A6 : représente la première donnée (date) de la plage de cellules.

La liste de code pourrait ressembler à ceci :
Range("A5:A4000").AdvancedFilter xlFilterInPlace, Range("A1:A2")



MichD
------------------------------------------
"JeanYvesGascon" a écrit dans le message de groupe de discussion :


Bonjour

Dans une feuille de rendez-vous
A6 à A4000 j'ai des dates sous le format jjj-jj-mm du lundi au
vendredi répétées 18 fois en fonctions des horaires décrits ci-dessous
B6 à B4000 j'ai des horaires sous le format hh:mm avec à chaque ligne
deux fois la même valeur
avec un pas de 15 minutes (14:00; 14:00; 14:15; 14:15; 15:00 ....)

Afin de faire une recherche sur la date du jour, j'ai entré en A1
=Aujourd'hui()

Grâce à un premier bouton "RdV=0" avec pour code
Private Sub CommandButton1_Click()
' Rdv du jour (RdV=O)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A1"))
End Sub

Cela fonctionne de façon impeccable

Par contre je butes pour avoir la même mécanique avec la veille "J-1"
ou le lendemain "J+1"

voulant éviter la solution
A10¡-1 et le code
Private Sub CommandButton2_Click()
' Rdv d'hier (J-1)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A10"))
End Sub
et
A11¡+1
Private Sub CommandButton3_Click()
' Rdv de demain (J+1)
[a6].AutoFilter Field:=1, Criteria1:=">=" & CDbl(Range("A11"))
End Sub

Merci pour vos éclairages

Cordialement

Jean-Yves
Publicité
Poster une réponse
Anonyme