faire évoluer une date jour par jour, mois par mois, année par année

dmc

XLDnaute Occasionnel
Bonsoir à tous
J'aimerais trouver une macro qui, sans USF, et au moyen de trois boutons de type fleche haut/bas, me permette d'alimenter un champ au format date reconnu par EXCEL (jj/mmm/aaaa).

Je retente mon explication : l'utilisateur dispose d'un champ de type date.
Il peut remplir cette date à la main
Il peut également incrémenter par un bouton flèche le jour, soit +1, soit -1;
idem pour le mois
idem pour l'année.

je ne parviens pas à joindre le fichier exemple que j'ai préparé.

Je vous remercie d'avance pour vos réponses.
 

jeanpierre

Nous a quitté
Repose en paix
Re : faire évoluer une date jour par jour, mois par mois, année par année

Bonsoir dmc,

Peut-être que si tu zippais ton fichier, il passerait mieux, au besoin en retirer quelques données. Un USF ne pèse pas trop lourd.

A te lire.

Jean-Pierre
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : faire évoluer une date jour par jour, mois par mois, année par année

Bonsoir,
bonsoir jeanpierre

Regarde le fichier joint, si c'est cela que tu désires
Le code dans l'évènement de feuille (clic droit sur le nom de l'onglet, Visualiser le code)
 

Pièces jointes

  • dmcv1.zip
    10.5 KB · Affichages: 162

dmc

XLDnaute Occasionnel
Re : faire évoluer une date jour par jour, mois par mois, année par année

Merci à Jean-Pierre et à BhBh
BhBh a parfaitement répondu à mon attente. Petit détail : lorsque l'on ajoute un mois à une date, on se retrouve parfois avec un mois de trop et une référence jour qui n'est plus bonne : un mois après le 31/03, il faudrait trouver 30/03.
Idem si on ajoute une année sur un 29/02

Quelqu"un a-t-il envie de s'y coller d'une façon élégante ?

Sinon, le problème de téléchargement que j"avais était dû à DAP, utilitaire d'accélération des téléchargements. à priori, il a parfois des incompatibilités !
Je l'ai désactivé, tout est rentré dans l'ordre.

Merci encore à vous.
David
 

Pierrot93

XLDnaute Barbatruc
Re : faire évoluer une date jour par jour, mois par mois, année par année

Bonjour David, Jean-Pierre, bhbh

si j'ai bien compris, modifies peut être les codes des SpinButton 2 et 3 comme ci dessous :

Code:
Private Sub SpinButton2_SpinDown()
Range("B3").Value = DateAdd("m", -1, Range("B3").Value)
End Sub
Private Sub SpinButton2_SpinUp()
Range("B3").Value = DateAdd("m", 1, Range("B3").Value)
End Sub
Private Sub SpinButton3_SpinDown()
Range("B3").Value = DateAdd("yyyy", -1, Range("B3").Value)
End Sub
Private Sub SpinButton3_SpinUp()
Range("B3").Value = DateAdd("yyyy", 1, Range("B3").Value)
End Sub

a voir si cela répond à ta question.

bonne journée
@+
 

Spitnolan08

XLDnaute Barbatruc
Re : faire évoluer une date jour par jour, mois par mois, année par année

Bonjour à tous,
dmc, bhbh, jeanpierre, Pierrot...
Quelqu"un a-t-il envie de s'y coller d'une façon élégante ?
La formulation ne l'est pas...

Je te propose beaucoup plus élégant, je dirais même plus...
N'ayons pas peur des mots : le nec plus ultra!!!

Tu vas Boîte à outils Contrôles/Autres Contrôles/Microsoft Date and Time Picker...

Cordialement
 

Spitnolan08

XLDnaute Barbatruc
Re : faire évoluer une date jour par jour, mois par mois, année par année

Re,

Pour une utilisation idoine du DTPicker quelques précisions :
Une fois le DTPicker installé il est possible de :
- l'utiliser tel quel (L'incrémentation de 1 en 1 de l'année et du mois peut se faire via clic gauche sur ces éléments, pour les jours via sélection dans le calendrier
- Ou bien, Activer le mode création, Clic droit puis ObjetDTPicker/Propriétés et cocher Updown puis Appliquer - Quitter le mode création et enregistrer
En sélectionnant le jour, le mois ou l'année on peut alors modifier ces éléments de façon unitaire positivement ou négativement.

Pour utiliser la date donnée par cet outil, au moins 2 méthodes :
- Utiliser une macro évènementielle placée dans le module de la feuille du type de :
Private Sub DTPicker1_Change()
'***Pour un DTPicker en A1 :
Range("A1").Value = DTPicker1.Value
End Sub
- Utiliser la propriété .linkedCell du contrôle (Pour un contrôle en A1 noter A1)
Dans les 2 cas la date du DTPicker est reprise dans la feuille et directement exploitable pour des calculs.

Cordialement
 

dmc

XLDnaute Occasionnel
Re : faire évoluer une date jour par jour, mois par mois, année par année

Bonjour aux XLNAUTES
Merci à Pierrot - Réponse parfaite... et qui plus est méthode élégante par sa simplicité.
Merci également à Spitnolan98, qui bien qu'il n'apprécie pas ma formulation a planché sur la question.
Au sujet de DTPicker : sous Ewcel 2007, pour disposer de Dtpicker, précisément du calendrier version 11 ou 12, il faut avoir access 2007 !
Cela nuirait à la portabilité de mon fichier.
De plus la réponse renvoyée doit être retraitée par une macro, donc écriture de macro dans rous les cas:
Et enfin, dans la plupart des cas une date se modifie très vite, et DTPIcker, très beau, sera moins efficace que que le petit script fourni par Pierrot. Tentez-le, vous serez épaté par son coté pratique.
Très amicalement.
David
 

Discussions similaires

Statistiques des forums

Discussions
314 079
Messages
2 105 475
Membres
109 376
dernier inscrit
padawan88300