Saisie de date automatique

Résolu/Fermé
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 10 déc. 2008 à 09:52
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 11 déc. 2008 à 15:35
Bonjour à tous,

Je bute sur un problème de date et je sollicite votre aide.
Sur une feuille je voudrais que la date du jour soit automatiquement affichée dans la cellule « A1 » lorsque les trois cellules situées à sa droite (B1, C1 et D1) ne sont plus vides, et surtout conserver cette date.
Si je rentre la fonction suivante en A1 j’obtiens ce que je veux, ou presque…

=SI(ET(B1<>"";C1<>"";D1<>"");AUJOURDHUI();"")

En effet si je ferme mon classeur et que je l’ouvre le lendemain par exemple A1 prends la date du jour alors que je voudrais conserver la date de saisie.
Merci d’avance pour votre aide.
Cordialement.
Mistral

7 réponses

BOUDA08 Messages postés 116 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 1 février 2009 76
10 déc. 2008 à 10:15
Bonjour

Il existe la fonction NOW (en anglais) à mettre à la place de AUJOURD'HUI qui je suppose veux dire MAINTENANT en français, normalement je pense qu'elle ne se modifie que si tu modifies une de tes trois cellules?
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
10 déc. 2008 à 10:26
Bonjour

Merci pour ta réponse, mais ça ne marche pas.
La date est aussi modifiée avec "Maintenant".
Je viens de faire un essais en changeant la date de l'ordi et
dans les deux cas la date est modifiée.
Si tu as une autre piste...
Encore merci d'avoir répondu.
Mistral
0
BOUDA08 Messages postés 116 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 1 février 2009 76
10 déc. 2008 à 11:44
Re bonjour

Est-ce que tu penses que si ta formule est transformée en texte elle ne changera pas

Exemple =TEXTE(SI(ET(B14<>"";C14<>"";D14<>"");MAINTENANT();"");"dd mm yy")
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
10 déc. 2008 à 11:50
Bonjour,

Si tu passes par une formule la date sera obligatoirement mise à jour.
Utilises le raccourci clavier Ctrl+;
Utilises éventuellement une mise en forme conditionnelle pour faire apparaitre les cellules pouvant recevoir la date.
Sinon c'est en vba

eric
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
10 déc. 2008 à 12:00
Salut,

Malheureusement avec une formule, date s’actualisera à chaque ouverture du fichier que ce soit avec AUJOURDHUI ou MAINTENANT et même si on inclut la fonction TEXTE.

Il faudrait le traiter en VBA, mais combien de cellule à traiter, cela en vaut t il le coup

A+
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
10 déc. 2008 à 12:05
Bonjour,

Merci pour ta réponse,
S'il faut passer par VBA pourquoi pas.
En fait il s'agit de traiter environ 800 lignes par feuille et il y aura 12 feuille minimum
une par mois calendaire.
Si tu as une solution je suis preneur.
Encore merci
Mistral
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
10 déc. 2008 à 15:16
Salut,

En gardant ton exemple pose en colonne A1 cette formule qui saisiera Date lorsque les trois conditions sont réunis et incrémente la formule jusqu'en bas de ton tableau.

Il est impératif de mettre FIN en majuscule en fin de colonne A pour aréter la macro

=SI(ET(B1<>"";C1<>"";D1<>"");"Date";"")

ensuite clic droit sur l'onglet de feuille pour ouvrir le VBA, et insertion/module.
Dans ce module colle le code ci dessous et affecte le à un bouton. Tu peux créer un bouton par feuille pour le même code

Sub test2()
Range("A1").Select
Do While ActiveCell.Value <> "FIN"
ActiveCell.Offset(1, 0).Select
If ActiveCell = 1 Then
ActiveCell = Date
End If
Loop
End Sub

chaque fois que la macro recontrera Date dans la colonne A, Date sera remplacé par la date.

Si nous avions un exemple de ton fichier il serait possible d'écrire le code différemment, comme faire partir le code en bas de ta structure et l'arréter sur l'en tête de ta colonne.

si tu le souhaites tu peux joindre un exemple de fichier sans note confidentielle et réduit avec ce lien

https://www.cjoint.com/

A+
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
11 déc. 2008 à 08:53
Bonjour,

Merci d'avoir consacré du temps à mon probleme d'autant plus que j'ai trouvé, avec l'aide d'un ami,
une autre solution. On a pu travailler directement sur mon fichier ce qui nous a permis de la caller
exactement là ou j'en avais besoin.
Je te la donne a titre informatif.
Dès qu'une valeur est saisie la date est affichée en claire.
On efface la valeur la date disparait.

Private Sub Worksheet_Change(ByVal sel As Range)
If sel.Column = 15 And sel.Count = 1 Then
If sel.Value <> "" And Not IsNumeric(sel.Value) Then
sel.Offset(0, -1).Value = Date
Else
sel.Offset(0, -1).Value = ""
End If
End If
End Sub

Encore une fois un grand merci à toi.
Cordialement.
Mistral
0
BoVo Messages postés 2 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 11 décembre 2008
11 déc. 2008 à 15:17
Je pense que le problème peut ^tre résolu de manière beaucoup plus simple
si tu as un clavier "Français, Be" pas UK donc AZERTY, tu pousse sur la touche " ctrl et : ", tu devrait voir apparaître
la date du jour celle qui est sur ton ordi, normalement demain, ni les jours suivants elle ne devrait pas changer
la combinaison "ctrl et ;" donne l'heure actuelle du PC.
Pour la petite histoire, si tu pose ton curseur sur une cellule sous une valeur quelconque (même par exemple sous la cellule A1, en A2) tu recopie la valeur de la cellule par la combinaison "ctrl et$" c'est très utile dans le cas ou tu as une formule et que tu veux juste la valeur, cela évite la recherche (copier, edition, collage spécial, valeur ...)

A+
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
11 déc. 2008 à 15:35
Salut Bovo,

ta proposition a été proposé par Eriiic sur le post 4 et c'est le contraire, Ctrl ; donne la date et
Ctrl : donne l'heure

A+
0