XL 2013 Date Fixe

Danyk01

XLDnaute Occasionnel
Bonjour
En ouvrant mon document "DEVIS" j'ai programmé la date : =(AUJOURDHUI)
Lorsque je sauvegarde le document je voudrais que la date reste fixe et garde la date du jour de création.
Peut-on supprimer la formule au moment de la SVG?
y a-t'il une autre solution?
Merci pour votre réponse
Danyk01
 

Ikito

XLDnaute Occasionnel
Bonjour,

Voir fichier CJ.
Mettre la formule =AUJOURDHUI() en case B2 puis enregistrer le fichier. La date se fige

La macro récupère la valeur de B2 et à l'enregistrement écrase la formule pour y mettre la valeur.
Ca fonctionne très bien chez moi..........

Formule en B2 :
1582191345510.png

1582191373264.png

J'enregistre (Ctrl + S)
1582191399128.png
 

Danyk01

XLDnaute Occasionnel

patricktoulon

XLDnaute Barbatruc
bonjour
a partir du moment ou tu utilise une macro pour écraser ou modifier la formule tu n'a pas a utiliser une formule c'est ridicule ;)
je ne sais pas a quel moment tu met cette date dans ta cellule mais fait le par vba et c'est tout
arrêtez de vous torturer l'esprit a aller a l'encontre de la logique des formules ;)
 

Danyk01

XLDnaute Occasionnel
bonjour
a partir du moment ou tu utilise une macro pour écraser ou modifier la formule tu n'a pas a utiliser une formule c'est ridicule ;)
je ne sais pas a quel moment tu met cette date dans ta cellule mais fait le par vba et c'est tout
arrêtez de vous torturer l'esprit a aller a l'encontre de la logique des formules ;)

Hello Patricktoulon
Tu ne peux pas juger sans connaître les tenants et les aboutissants
si tu veux je t'explique...tu verras, c'est pas si con que ça

1-J'ai un document DEVIS (matrice) avec des liens avec des documents annexes (Client, fournisseurs, matières etc...) Documents annexes que j'utilise également pour d'autres documents : par ex Commande fournisseurs etc...
2- ma matrice à une date avec la formule =(AUJOURD'HUI) tout est OK
3- sur cette matrice j'ai un bouton pour sauvegarder le devis au nom du client, dans un autre fichier OK
4- Quand j'ouvre la matrice pour faire un nouveau devis la date du jour et le nouveau N° apparaît OK
5- je renseigne le nom du client
6- je clique sur le bouton (ligne 3) pour sauvegarder le devis au nom du client
7- je ferme la matrice, tout se remet à 0.
C'est à ce moment que la cellule date doit rester avec la formule =(AUJOURD'HUI) et le document sauvegardé doit rester fixe.
8- j'ouvre le devis à partir du fichier dans lequel il est sauvegardé, et je dois retrouver la date de création.

Apparemment ce n'est pas si simple que ça en a l'air
Danyk01
 

patricktoulon

XLDnaute Barbatruc
bonsoir
je ne dis pas que c'est con je dis que c'est inutile

1-J'ai un document DEVIS (matrice) avec des liens avec des documents annexes (Client, fournisseurs, matières etc...) Documents annexes que j'utilise également pour d'autres documents : par ex Commande fournisseurs etc...
2- ma matrice à une date avec la formule =(AUJOURD'HUI) tout est OK
3- sur cette matrice j'ai un bouton pour sauvegarder le devis au nom du client, dans un autre fichier OK
4- Quand j'ouvre la matrice pour faire un nouveau devis la date du jour et le nouveau N° apparaît OK
5- je renseigne le nom du client
6- je clique sur le bouton (ligne 3) pour sauvegarder le devis au nom du client
7- je ferme la matrice, tout se remet à 0.
C'est à ce moment que la cellule date doit rester avec la formule =(AUJOURD'HUI) et le document sauvegardé doit rester fixe.
8- j'ouvre le devis à partir du fichier dans lequel il est sauvegardé, et je dois retrouver la date de création.

Apparemment ce n'est pas si simple que ça en a l'air
ben c'est pire que ce que je pensait

a quoi ca sert de mettre "=aujourdhui() en formule puis .value=.value en vba sur le fichier de destination (copie de ton original je suppose)
autant le faire tout de suite en vba
cells(x,y)=format(date,"dd/mm/yyyy")
et c'est valable pour tout le reste

pourquoi:

ben imagine q'un autre classeur est ouvert dans la meme instance que celui la et que par exemple le calculate est bloqué ben walouh c'est toute ton incrémentation automatique qui fout le camp

et y a bien d'autre raison encore


moi je ferait comme précédemment cité pour la date
et avec un/des name caché(s) pour la/les incrémentation(s)
simple a mettre en place
il y a moult exemples dont d'il y a quelques jours

mais vous faites comme vous voulez
tients testez ca ;)
cliquez sur nouveau, remplissez , cliquez enregistrer , fermez, ré ouvrez ,cliquer sur nouveau,etc..etc....,etc....
le code est dans la feuille et devisnumber est un name
et c'est tout ;)
 

Pièces jointes

  • devis auto incrémenté.xlsm
    21.6 KB · Affichages: 13

Danyk01

XLDnaute Occasionnel
bonsoir
je ne dis pas que c'est con je dis que c'est inutile


ben c'est pire que ce que je pensait

a quoi ca sert de mettre "=aujourdhui() en formule puis .value=.value en vba sur le fichier de destination (copie de ton original je suppose)
autant le faire tout de suite en vba
cells(x,y)=format(date,"dd/mm/yyyy")
et c'est valable pour tout le reste

pourquoi:

ben imagine q'un autre classeur est ouvert dans la meme instance que celui la et que par exemple le calculate est bloqué ben walouh c'est toute ton incrémentation automatique qui fout le camp

et y a bien d'autre raison encore


moi je ferait comme précédemment cité pour la date
et avec un/des name caché(s) pour la/les incrémentation(s)
simple a mettre en place
il y a moult exemples dont d'il y a quelques jours

mais vous faites comme vous voulez
tients testez ca ;)
cliquez sur nouveau, remplissez , cliquez enregistrer , fermez, ré ouvrez ,cliquer sur nouveau,etc..etc....,etc....
le code est dans la feuille et devisnumber est un name
et c'est tout ;)

Bonjour Patrick

Merci pour ton explication
Je vais essayer ton système et te tiens au courant
c'est une toute autre approche que ce que j'ai en place, je vais faire une copie de ma matrice et inclure ton code
A bientôt
 

Danyk01

XLDnaute Occasionnel
bonsoir
je ne dis pas que c'est con je dis que c'est inutile


ben c'est pire que ce que je pensait

a quoi ca sert de mettre "=aujourdhui() en formule puis .value=.value en vba sur le fichier de destination (copie de ton original je suppose)
autant le faire tout de suite en vba
cells(x,y)=format(date,"dd/mm/yyyy")
et c'est valable pour tout le reste

pourquoi:

ben imagine q'un autre classeur est ouvert dans la meme instance que celui la et que par exemple le calculate est bloqué ben walouh c'est toute ton incrémentation automatique qui fout le camp

et y a bien d'autre raison encore


moi je ferait comme précédemment cité pour la date
et avec un/des name caché(s) pour la/les incrémentation(s)
simple a mettre en place
il y a moult exemples dont d'il y a quelques jours

mais vous faites comme vous voulez
tients testez ca ;)
cliquez sur nouveau, remplissez , cliquez enregistrer , fermez, ré ouvrez ,cliquer sur nouveau,etc..etc....,etc....
le code est dans la feuille et devisnumber est un name
et c'est tout ;)

Bonjour Patrick
Accepterais-tu que je t'envoie mon dossier complet pour jeter un oeil et pour me conseiller?
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 865
dernier inscrit
FreyaSalander