Autres Mémorisation

VIARD

XLDnaute Impliqué
Bonjour à toutes et tous

Nouvelle version :
Voici un calendrier, sans API ni module de classe.
Il est le plus simple possible, un code clair et facile à comprendre.
Il est différent de ce qui existe avec les mêmes fonctionnalités.
Sur une date nous avons le N° Semaine et inversement.
L’adresse active peut être changée.

Formats à disposition
01/07/2022 -----------> Court
02 juil 2022 -----------> Abrégé
03 juillet 2022 --------> Long
lundi 04 juillet 2022 --> Long + Jr/s
mardi 05/07/2022 ----> Court + jr/s
mercredi 06 juil 2022 -> Abrégé + jr/s
jeudi -------------------> jour(s) semaine
Date romaine --------à VI / III / MMXXIII
Date anglaise --------à Monday 20 March 2023, un seul format

Version améliorée, Plage_Date suit le choix du format affiché, idem à "Valider".
Un jour de la semaine en surbrillance ou pas, la surbrillance démarre au jour affiché.
7 formats possible, plus date romaine (indépendante).
Affichage du quantième jour de l’année.

Possibilité de créer une plage de date avec le format choisi.
Un jour de la semaine sera mis en surbrillance (ou pas), pour facilité le visuel.

- Mémorisation du dernier format utilisé après fermeture.
Le point de mémorisation peut-être déplacé suivant la nécessité.
(protection de la donnée si elle existe en ce point) affichage sur MsgBox.
En fait, c'est ce dernier point que je cherche à améliorer.
Peut-être en utilisant le TAG, mais manip n'ont pas abouti.

Cordialement

Jean-Paul
 

Pièces jointes

  • Calendrier_Mini_5S.xlsm
    59.7 KB · Affichages: 61

ChTi160

XLDnaute Barbatruc
Bonjour Jean-Paul
Merci de ce partage !
pourrais-tu expliquer ce que tu entends par celà Lol
- Mémorisation du dernier format utilisé après fermeture.
Le point de mémorisation peut-être déplacé suivant la nécessité.
(protection de la donnée si elle existe en ce point) affichage sur MsgBox.
En fait, c'est ce dernier point que je cherche à améliorer.
Peut-être en utilisant le TAG, mais manip n'ont pas abouti.
Bonne Journée
Jean marie
 

VIARD

XLDnaute Impliqué
Bonjour ChTi160

Merci d'avoir répondu.
Là je reviens du kiné.
J'explique, actuellement, je fais la mémorisation par l'intermédiaire d'une cellule.
si pour une raison quelconque en cas de transfert du ficher, la cellule (ici "A1") peut-être occupée
et dans ce cas un message apparaît et l'on prend une autre cellule, de ce coté ça marche.
mais je voudrais faire autrement, sans utiliser d'API.
Alors j'ai pensé au (Tag), mais je ne sais pas l'utiliser, pour faire cette mémorisation, d'où ma demande.
S'il n'y a pas de solution , je laisserai la chose dans cet état.

A+ Jean-Paul
 

ChTi160

XLDnaute Barbatruc
Re
Donc c'est de cela que tu parles :
Mémorisation du dernier format utilisé après fermeture.
Tu parles de la propriété Tag mais de quel control ?
Tu dis
Alors j'ai pensé au (Tag), mais je ne sais pas l'utiliser
C'est pourtant simple dans la procédure d'un control tu mets
Exemple :
Tu click sur un bouton ,un Label etc
Tu mets dans la procédure à un moment
Me.CommandButton.Tag = formatx

Pour le récupérer tu fais l'inverse
Mavaleur= Format(xxxxxxx,me.CommandButton.Tag)
Xxxxxxx étant la valeur a formater lol
Pas évident (depuis mon téléphone)
Dans l'attente ?
Jean marie
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour Jean-Paul
Peut-être un truc de ce genre Lol
VB:
Private Sub SpinButton4_SpinDown()
If CInt(Me.TextBox5) <= 1 And Me.TextBox5 <> Empty Then
    Exit Sub
Else
    Me.TextBox5 = Me.TextBox5 - 1
    Me.TextBox5.Tag = Me.TextBox5 'on met la valeur du TextBox dans la propriété Tag du Control
    [Mémo] = TextBox5 'on pourrait supprimer ceux ci
End If
Call Validation
End Sub
Je n'ai pas encore tout compris Lol
On conserve le dernier Format utilisé, mais pourquoi en faire lors de la prochaine ouverture du Calendrier ?
Bonne Journée
Jean marie
 

VIARD

XLDnaute Impliqué
Bonjour Jean-Marie et à tous

Merci pour ta proposition.
Aussi j'ai construit un nouveau module simplifié pour isoler le problème.
cette mémorisation avec tag, me semble plus complexe que prévu.
mes essais non pas abouti.
ou alors transférer la donnée dans un fichier text trop tordu pour un petit fichier.
il y a surement une autre solution.
mon but c'est de mémoriser le dernier état et le récupérer à la prochaine ouverture.
sans passé par une cellule.
salutation

Jean-Paul
 

Pièces jointes

  • Manip_LeTag.xlsm
    14.8 KB · Affichages: 8

Modeste geedee

XLDnaute Barbatruc
cette mémorisation avec tag, me semble plus complexe que prévu.
mes essais non pas abouti.

il y a surement une autre solution.

:cool:
déjà en 2012...
ajouter des entrées dans les "CustomProperties" !!!

Private Sub CB_P1_Click()
On Error Resume Next
CB_P1.BackColor = L_Choix.BackColor
With ThisWorkbook.CustomDocumentProperties
.Add Name:="couleur1", _
LinkToContent:=False, _
Type:=msoPropertyTypeNumber, _
Value:=L_Choix.BackColor
.Item("couleur1") = L_Choix.BackColor
End With

Affiche
End Sub
memorisation2.jpg

puis dans userform1.activate :
On Error Resume Next
'------------------- parametres couleurs
'aujourd'hui
'couleur1 = RGB(240, 240, 240)
couleur1 = ThisWorkbook.CustomDocumentProperties("couleur1")
CB_P1.BackColor = couleur1
memorisations.jpg
 

Modeste geedee

XLDnaute Barbatruc

Statistiques des forums

Discussions
312 109
Messages
2 085 382
Membres
102 877
dernier inscrit
robinet