Calendrier portable Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
pijaku
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 27
Inscrit le : 14 janvier 2010
Version d'Excel : 2010 FR

Message par pijaku » 20 novembre 2014, 07:50

Bonjour,

De rien. Merci à toi pour avoir lancé ce sujet.

A bientôt
Cordialement,
Franck
t
tved
Nouveau venu
Nouveau venu
Messages : 1
Inscrit le : 2 mai 2015
Version d'Excel : 2013 FR

Message par tved » 2 mai 2015, 18:12

Bonjour,

très beau boulot, j'avais trouvé un site mais les liens de téléchargement ne fonctionnaient plus

puis miracle je retrouve le fichier sur ce site, mais voila

une erreur à l'ouverture du fichier calendrier_portable-3.1.xls apparemment à ma version 64 bit

Erreur de compilation

le code contenu dans ce projet doit être mis à jour pour pouvoir être utilisé sur les systèmes 64 bits vérifiez et mettez à jour les instructions declare, puis marquez-les avec l'attribut PrtSafe

lignes en erreur coté VBA
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
voila je continue a chercher une solution

encore merci pour ce boulot très intéressant
Avatar du membre
Fred35
Membre dévoué
Membre dévoué
Messages : 867
Appréciation reçue : 1
Inscrit le : 31 mars 2012
Version d'Excel : 2003 FR, 2013 FR

Message par Fred35 » 3 mai 2015, 23:34

Bonjour,

Une solution pour les systèmes 32 et 64 bytes :

Dans module1
remplacer ce code
    Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
par celui-ci :
#If Win64 Then
    Public Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Public Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
#Else
    Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
#End If
p
pijaku
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 27
Inscrit le : 14 janvier 2010
Version d'Excel : 2010 FR

Message par pijaku » 22 mai 2015, 08:54

Bonjour,

Je bosse actuellement sur la version 4 de ce calendrier.
Cette version se veut :
- plus simple à mettre en œuvre,
- plus intuitive,
- plus transportable.

Simplifications :
Elle se composera d'un seul Module de Classe. Fini le module Userform + le module de classe.
1 seul module = facilité de "transportabilité" d'un classeur à l'autre.

Le code d'appel est également simplifié par la création d'une méthode Value. Ainsi, il suffira de déclarer une variable et d'en appeler la Value, du genre :
Dim myForm As New Calendrier
Debug.Print myForm.Value
Intuitivité :
Le calendrier possède maintenant un bouton "P" pour "Paramètres".
Un simple clic dessus "ouvrira" l'accès à un multipage permettant le paramétrage de ce calendrier.

Transportable :
En plus du fait de n'être composé que d'un module, les paramètres seront dorénavant enregistrés, non plus dans le gestionnaire de noms du classeur, mais dans le module lui-même. Ainsi, la configuration choisie sera exportable d'un classeur à un autre...

Toujours efficace sous 2003 et/ou 2010, il conviendra de le tester sous d'autres configurations pour la portabilité d'un Excel vers l'autre...

Par contre, si je viens ici pour vous faire languir, c'est également pour savoir quels seraient les paramètres que vous souhaiteriez pouvoir modifier dans cette nouvelle version?

Pour info, nous pourrons modifier :
- la couleur BackColor des boutons
- la couleur ForeColor de police des boutons
- la couleur BackColor des conteneurs (Frame)
- la taille des boutons (Width et/ou Height)
- la police
- le format de date en sortie

A ce propos, sont prévus, pour l'instant, ces seuls formats de date : "dd/mm/yy", "dd/mm/yyyy", "dd mmmm yyyy", "dddd d mmmm yyyy".
En souhaiteriez vous d'autres?

Dernière question, verriez vous un intérêt à donner la possibilité de changer le séparateur "/"?

Merci d'avance pour vos contributions à ce projet.
Cordialement,
Franck
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 22 mai 2015, 09:06

Bonjour,

Toutes mes félicitations pour avoir entrepris ce projet ...!!!

Ce sera très utile à beaucoup de personnes ...

A mon humble avis, au sujet des formats Dates, comme tu le sais le format US (mm/dd/yyyy) peut être utilisé dans les entreprises ...

De la même façon, les séparateurs font partie intégrante de la configuration du pays ...
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
p
pijaku
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 27
Inscrit le : 14 janvier 2010
Version d'Excel : 2010 FR

Message par pijaku » 22 mai 2015, 09:31

Salut et merci de ta réponse.

Peux tu m'éclairer à ce propos :
De la même façon, les séparateurs font partie intégrante de la configuration du pays ...
Si, en format de sortie, j'indique par exemple : Value = Format(maDate, "dd/mm/yyyy") et que la configuration Windows de l'utilisateur utilise le "-" dans les formats de date, cela signifie que la date s'affichera comme ceci dans le tableur : 22-05-2015?
Cordialement,
Franck
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 22 mai 2015, 09:37

Re,

Je voulais parler de la propriété Application.International ... :wink:

https://msdn.microsoft.com/fr-fr/librar ... 40213.aspx
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
p
pijaku
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 27
Inscrit le : 14 janvier 2010
Version d'Excel : 2010 FR

Message par pijaku » 22 mai 2015, 09:39

Yessss!!
Bien vu James007!
Je n'avais pas pensé utiliser cette propriété...
Je vais mettre ça en œuvre, c'est très juste.
Merci
Cordialement,
Franck
Avatar du membre
Fred35
Membre dévoué
Membre dévoué
Messages : 867
Appréciation reçue : 1
Inscrit le : 31 mars 2012
Version d'Excel : 2003 FR, 2013 FR

Message par Fred35 » 22 mai 2015, 09:41

Bonjour à tous et merci Pikaju de poursuivre ce projet.

Pour ma part j'avais modifié le calendrier de manière à ce que la date choisi soit mise dans une variable publique

Petite question également, la fonction "estferies" sera t' elle toujours d'actualité ?
Travaillant sur un projet d'entreprise assez énorme, j'utilise cette fonction bien pratique dans de nombreux formulaires et sur quelques feuilles de calcul ce qui m'évite de refaire un tableau de jours fériés ^^

Concernant les tests, je pourrai les faire sous 2013.

Bonne journée.
p
pijaku
Membre fidèle
Membre fidèle
Messages : 425
Appréciations reçues : 27
Inscrit le : 14 janvier 2010
Version d'Excel : 2010 FR

Message par pijaku » 22 mai 2015, 09:52

Salut Fred35,
Petite question également, la fonction "estferies" sera t' elle toujours d'actualité ?
Bien sur. La "base" reste la même.
Concernant les tests, je pourrai les faire sous 2013.
Super, merci.
Par contre, il va falloir un peu de patience... Pas avant la semaine prochaine, au mieux... J'ai encore beaucoup de bugs et le débugage est délicat car certains passages de code ne peuvent être "déroulés" en pas à pas...
Cordialement,
Franck
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message