Microsoft 365 suite calendrier de Roland_M

Usine à gaz

XLDnaute Barbatruc
Bonjour Roland, bonjour à toutes et à tous,

@ Roland,
Je copie nos messages ici :)

Patrick :
non non !! et non !!;)
on est pas dans le forum on est dans la discusion en relation avec la ressource
merci de ta compréhension Rolland
et fait moi une ressource avec ton projet et explication que je puisse voir ( si tu a le temps)
il me semble que tu l'a puisque tu répond a Arthour ;)
ce fils ne doit relater que les problèmes ou coquille éventuellement constatés dans mon calendar
( c'est ce qui m'a permis de l'amener a la version 4.1.1)
et les idées d'amélioration (je suis pas fermé) a condition que ça reste dans la ligne que j'ai fixée a savoir rendre le plus simple l'utilisation et la souplesse et que ca reste ce que c'est sensé être a savoir un simple control calendrier permettant de choisir une date toute autre considération n'a pas a rentrer dans son principe et est hors contexte
je n'ai nullement l'intention de faire de ce calendrier un applicatif bourré d'option CE N'EST PAS UN INTERFACE UTILISATEUR c'est une boite de dialog modal responsive (point barre) ,exactement le comportement d'un msgbox
il est sensé s'intégrer simplement en le copiant(export/import)( sans aucune modification du moindre caractère) dans le fichier de l'utilisateur (tu parlais de souplesse ;) )
j'ai développé un control calendrier pour tout utilisateurs pas une application pour UN!! utilisateur ;)
je suis impatient de te lire dans les ressources ;)

Roland :
Bonsoir,
j'ai tout de même jeté un oeil, et ce que je comprend pas c'est que mon calendrier permet 90% de tes souhaits
et qu'il possible de régler les 10% restant !
et toi tu veux en changer car c'est trop compliqué pour toi !?
ce n'est pas compliqué c'est simplement qu'il y a des options qui permettent cette souplesse et toi tu n'y piges rien !
Alors . . .
Saisie heure du RdV:
? En remplacement du clic sur "OK", est-il possible clic sur la "X" pour sortir avec validation la saisie heure ?
> c'est fait, mais je ne trouve pas très logique de cliquer sur Annuler pour confirmer !? (c'est une histoire belge)
? Je n'ai pas réussi à faire en sorte, que comme ton calendrier, l'UF des heures s'affiche près de la cellule cliquée
> c'est fait
Calendrier:
? Retour direct sur "aujourd'hui" si déplacement loin dans le calendrier
> mon calendrier effectue déjà cela

? Sélection date à l'affichage du calendrier, à l'ouverture, le calendrier se positionne sur aujourd'hui
il permet de sélectionner une date dès le 1er jour du mois affiché
> mon calendrier effectue déjà cela, sauf quand il y a déjà une date dans la cellule c'est elle qui prime !
? J'aurais besoin d'avoir un blocage "par défaut", ne permettant pas de sélectionner une date avant aujourd'hui
> mon calendrier effectue cela, il suffit de se servir de Date Min/Max
? Dans notre boulot, nous avons une particularité qui nous oblige à sélectionner des dates "avant aujourd'hui
Selon plage de cellules j'aurais besoin de pouvoir sélectionner des dates "avant aujourd'hui"
> alors là il va falloir que tu dises quelles sont les endroits où il faut une date libre et où il faut une date min/max !?
? Dans mon cas, nous savons qu'un RdV au-delà de 2 mois ne fonctionne jamais. Ce n'est donc que du temps perdu de prendre un RdV au-delà.
J'aurais besoin de pouvoir paramétrer de la Date Mini à la Date Maxi "cliquable" : selon plage de cellules
> possible Date Min/Max +60 pour avoir les deux mois . . . voir la question précédente !?
Je finirai cela d'ici qq jours car en ce moment je suis malade !
pour l'instant il me faudra les réponses à ceci:
que tu dises quelles sont les endroits où il faut une date libre et où il faut une date min/max !?
noms des feuilles et les champs !? j'espère qu'il n'y en pas une quantité trop importantes !?

Lionel
Ha ! Roland,
Tu es super !!! comme toujours.
C'est pas urgent.
J'espèce que ce n'est pas grave et je te souhaite un rapide rétablissement.
Je réponds à tes question dès que possible :)
 
Solution
Re-Roland,
"si j'ai bien compris, quand c'est E14 il faut initialiser la liste déroulante avec le 0 en plus
et il faut impérativement qu'il y ai saisie hre et mn <même si c'est 0 !
'
C'est exactement ça et ça marche !
Encore merci Roland :)
lionel,

Roland_M

XLDnaute Barbatruc
Excuses ! si tu as vu mon message la première fois, j'avais mal fait mon copier/coller !
mais c'est pas plus mal car j'ai besoin de précision !

si j'ai bien compris, quand c'est E14 il faut initialiser la liste déroulante avec le 0 en plus
et il faut impérativement qu'il y ai saisie hre et mn <même si c'est 0 !

par-contre pour les autres ça reste ainsi et sans obligation de saisie hre
mais tu as mis 15,30,45 et on peut saisir l'hre sans obligation des minutes !?
ce qui fait une saisie hh:00 < 0 minute !?
s'il y a saisie de l'hre, faut il obliger de saisir les minutes ?

EDIT:
tu reprends cette partie de code dans l'userform saisie hre !
c'est la partie juste avant les routines ------ POSITION USERFORM ------

VB:
'option de placement et position
'sous la cellule(2) ou à droite(1)
Private Const PlacementCalendrier = 2 '1 ou 2

Private Sub UserForm_Initialize()
For I = 7 To 20: CbHeure.AddItem I: Next
If FsiE14 Then
   For I = 0 To 45 Step 15: CbMinute.AddItem I: Next
Else
   For I = 15 To 45 Step 15: CbMinute.AddItem I: Next
End If
Me.Caption = Left(ActiveCell, 10) & " à quelle heure ?"
UserformPosSurCell ActiveCell 'position userf
End Sub

Private Sub ButtonOK_Click()
If Trim(CbHeure) = "" Or Trim(CbMinute) = "" Then AffMsg "saisie incorrecte !": Exit Sub
H = Val(CbHeure): M = Val(CbMinute): If H = 24 Then M = 0
On Error Resume Next
'extraire seulement la date> JJ/MM/AAAA puis rajoute HH:MM <= MODIF Roland
ActiveCell = Format(Left(ActiveCell, 10), "dd mm yyyy ") & Format(H, "0#") & ":" & Format(M, "0#")
Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
 If FsiE14 Then AffMsg "saisie obligatoire !": Cancel = True: Exit Sub
End If
End Sub

Private Function FsiE14() As Boolean
FsiE14 = False: If LCase(ActiveSheet.Name) = "saisierdv" And ActiveCell.Address(False, False) = "E14" Then FsiE14 = True
End Function

Private Sub AffMsg(M$)
SvgH = Me.Height: Me.Height = SvgH + 25
LbInfo = M$: Me.Repaint
T! = Timer: While Abs(Timer - T) < 1.1: Wend
Me.Height = SvgH: LbInfo = ""
If CbHeure = "" Then
   CbHeure.SetFocus
ElseIf CbMinute = "" Then
   CbMinute.SetFocus
End If
End Sub
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re-Roland,
"si j'ai bien compris, quand c'est E14 il faut initialiser la liste déroulante avec le 0 en plus
et il faut impérativement qu'il y ai saisie hre et mn <même si c'est 0 !
'
C'est exactement ça et ça marche !
Encore merci Roland :)
lionel,
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Roland, le Forum,
Je reviens sur le fil pour un souci d'intégration du nouveau calendrier dans mon fichier de travail.
Globalement c'est bon, j'ai pu l'intégrer sans problème mais j'ai un souci :
Avec l'ancien calendrier ma formule fonctionnait :
=SI(E14="";"";CNUM(GAUCHE(E14;6))-1)
Avec le nouveau j'ai "Valeur"
Je joins la capture d'écran
Sans titre.jpg

Peut-être un problème de format du nouveau calendrier différent de l'autre ?
J'ai pas encore trouvé :(
As-tu une idée de modif ?
Merci Roland :)
Bonne journée à toutes et à tous,
lionel,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re-Bonjoour,

Super j'ai trouvé .
J'ai remplacé dans l'Uf fm_SaisieHeure du nouveau calendrier :
VB:
'Private Sub ButtonOK_Click()
'If Trim(CbHeure) = "" Or Trim(CbMinute) = "" Then AffMsg "sélect H Mn obligés !": Exit Sub
'H = Val(CbHeure): M = Val(CbMinute): If H = 24 Then M = 0
'On Error Resume Next
''extraire seulement la date> JJ/MM/AAAA puis rajoute HH:MM <= MODIF Roland
'ActiveCell = Format(Left(ActiveCell, 10), "dd mm yyyy ") & Format(H, "0#") & ":" & Format(M, "0#")
'Unload Me
'End Sub
Par
Code:
Private Sub ButtonOK_Click()
If Trim(CbHeure) = "" Or Trim(CbMinute) = "" Then AffMsg "sélect H Mn obligés !": Exit Sub
H = Val(CbHeure): M = Val(CbMinute): If H = 24 Then M = 0
On Error Resume Next
'extraire seulement la date> JJ/MM/AAAA puis rajoute HH:MM <= MODIF Roland
   X$ = Format(H, "0#") & " H " & Format(M, "0#")
   ActiveCell = ActiveCell.Value2 + H / 24 + M / 24 / 60    '<= MODIF
Unload Me
End Sub

Et ça fonctionne :)
lionel,
 

Usine à gaz

XLDnaute Barbatruc
Re-Roland, le Forum,

J'ai une toute dernière demande (je crois LOL),
C'est une question d'affichage du calendrier :
Sans titre.jpg

Pourrais-tu me dire ce que je dois modifier pour obtenir les textes sur une ligne et centrés comme sur l'image ci-dessus ?
Pour les dates se serait bien qu'elles soient centrées aussi :)
Je sais, je suis un em...., si ça t'embête tant pis ... je continuerai à chercher Lol

Merci d'avance,
lionel,
 
Dernière édition:

Roland_M

XLDnaute Barbatruc

Pièces jointes

  • Classeur1.xlsm
    54.6 KB · Affichages: 39
Dernière édition:

Discussions similaires

Réponses
29
Affichages
1 K

Statistiques des forums

Discussions
315 094
Messages
2 116 157
Membres
112 672
dernier inscrit
djudju