Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

richert90

XLDnaute Occasionnel
Bonjour,

J'ai insérer dans un userform un calendrier avec DTPicker. le problème c'est que je viens de voir que sur Excel 2007 ou 2013, on ne voit plus les calendriers....
Je voudrais savoir si vous aviez un code pour avoir un calendrier qui fonctionne quelle que soit la version d'Excel et sans avoir besoin de téléchargez des modules complémentaires.

Merci d'avance,
 

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

Merci à toi Docmarti !

ça ne m'étonne pas du tout ! je dirais même logique ! mais bon ...
on peut toujours revoir le code pour l'adapter,
mais ceci n'étant qu'une exception ça ira bien ainsi !
 

richert90

XLDnaute Occasionnel
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

Re,

Alors j'ai fais les modifs que tu m'as conseillées mais j'ai toujours le même message d'erreur au même endroit..
J'ai du louper qq chose à un moment..
 

Pièces jointes

  • test.xlsm
    124.1 KB · Affichages: 46
  • test.xlsm
    124.1 KB · Affichages: 50
  • test.xlsm
    124.1 KB · Affichages: 53

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

et ici c'est quoi !?

Global dir_csv As String
Global i As Integer
Global j As Integer
Global nouveau_nom As String
Global K As Integer
Global fichier_jdbprod As String
Global lettre As String
Global lettre2 As String
Global m As Integer
Global reponse As String
Global lettre3 As String
Global m1 As Integer
Global m2 As Integer
Global m3 As Integer
Global m4 As Integer
Global lettre4 As String
Global lettre5 As String
Global lettre6 As String
Global version As Integer
Global nb_articles As Integer
Global startdate As Single
Global enddate As Single

tu as bien comme je t'ai dis des variables déclarées différemment !
Global m As Integer
ceci cause l'erreur avec M$ !
on ne mets pas en global des variables aussi courtes ! I J K M ....
tu modifies le M$ en Msg$

j'aurai dû déclarer toutes mes mes vars. je vais revoir ça !
mais je ne pensais jamais que l'on mettrais global des variables d'une seule lettre !
 
Dernière édition:

richert90

XLDnaute Occasionnel
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

Re,

A ouai?!!! j ne savais pas que ça pouvais engendré des erreurs!!!
Je vais modifier ce qu'il faut , merci

Docmarti: excel en anglais . Toi c'était windows en anglais pour ton test?
 

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

ci-joint mon classeur avec mes propres variables déclarées private !
avec Option Explicite, ainsi si erreur tu comprendras tout de suite !
chose que j'aurai dû faire avant ! (toutes mes excuses !)
je vais faire les modif dans les autres post !?

tu fais exporter et importer c'est tout simple !
ou bien tu fais un glisser vers ton classeur.
 

Pièces jointes

  • Calendrier Autonome_Rol_M.xlsm
    67 KB · Affichages: 37
Dernière édition:

richert90

XLDnaute Occasionnel
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

SiSi merci j'ai vu :)
Je suis en train de faire les tests et je me pose (encore) une question: comme tu as mis tes prg en "Private" une fois que tu clique sur "ok" après avoir sélectionné tes 2 dates, celles-ci ne sont plus 'enregistrées'. Ca vient bien de ça (public/private)?
 

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

je comprends pas bien ton problème !?
les deux variables utiles et les appels ne sont pas private !
d'ailleurs, pour la demo, dans mon classeur les msgbox affichent bien les résultats en retour !
 

richert90

XLDnaute Occasionnel
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

Je vais essayer d'être plus clair:
Quand je clique sur le bouton permettant d'accéder au UserForm avec les filtres : on clique sur le bouton 'calendar' -> on choisit 2 dates -> on fait ok -> on revient sur le UserForm avec les filtres et quand on clique sur le bouton "Filter" je vois que les dates sont vides. Pour voir cela j'ai juste mis, comme code, dans le bouton "Filter" : msgbox DTPDateDebut et là je vois qu'il n'y a rien. Le contenu de la variable DTPDateDebut est donc vide..
C'est pour ça que je pensais que ça venais du private...

Voici le fichier du test.
 

Pièces jointes

  • test.xlsm
    124.3 KB · Affichages: 46
  • test.xlsm
    124.3 KB · Affichages: 49
  • test.xlsm
    124.3 KB · Affichages: 45

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

j'y regarde et je reviens !

EDIT je viens de remettre tous mes codes et ça fonctionne !
c'est toi qui modifies les codes !
je te répète pour la dernière fois, que tu ne dois absolument pas toucher aux codes qui concerne le calendrier !

tu as juste à appeler l'userform ici pour les deux dates
et tu as en sortant les deux variables dates début et fin !
c'est tout !!!!!!!!!!!!!!!!!!!!!!!
je ne sais pas ce que tu fabriques !?
 

Pièces jointes

  • testrichert90.xlsm
    116.3 KB · Affichages: 56
  • testrichert90.xlsm
    116.3 KB · Affichages: 51
  • testrichert90.xlsm
    116.3 KB · Affichages: 52
Dernière édition:

richert90

XLDnaute Occasionnel
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

Ouai mais ce que je veux en fait, c'est qu'une fois les 2 dates sélectionnées et que je clique donc sur OK dans le userform "UserfPersoAvec2Date" , que je puisse revenir sur le UserForm de filtre "Filters" (tout en "gardant en mémoire" les 2 dates choisies pour appliquer les filtres etc....) . Ici dès qu'on a choisi les 2 dates, on a l'affichage puis plus rien : on retourne directement sur la feuille Excel.
 

Roland_M

XLDnaute Barbatruc
Re : Calendrier Excel VBA (qui marche sur toutes les versions d'Excel)

re

mais bon sang, comment t'expliquer ça, je suis à court d'argument !

les dates que tu as sélectionné c'est à toi t'en faire ce que tu veux !
je fais un affichage simplement pour te montrer que les dates sont bien là !

je ne sais ce que tu veux, les placer dans des cellules dans un control de ton userf !
il n'y a pas de miracle ! une fois que tu quittes en retour excel évidemment que c'est perdu !
je n'arrive pas à te suivre !
dans la modif que je viens de te faire tu as vu avec le msgbox que les deux dates étaient là !
à partir de là que tu choisis ce que tu veux en faire !
si tu veux une saisie date c'est que tu as l'intention d'en faire quelque chose !

j'ai l'impression de m'adresser à quelqu'un qui ne connait pas la programmation !?
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit