Implémentation de date sous excel 2003

Résolu/Fermé
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010 - Modifié par jmloulou le 11/12/2010 à 13:27
 Pseudo - 12 déc. 2010 à 11:50
Bonjour,

je voudrait sous excel 2003 arrive a placer la date dans un champs b(x) par exemple dès que je mets une donnée alphanumérique dans la cellule a(de la même ligne) il faut que cet date sois fixe par exemple je mets blabla à la ligne a1 et la cellule b1 enregistre la date de ce jour demain je mets coucou dans la cellule a2 et la cellule b2 prend la date de demain , mais en b1 la date de hier est restée.
merci d'avance pour votre aide


A voir également:

9 réponses

Et plus simple encore, sur la méthode change, simplement détecter quelle cellule (A) a changé, et dans la cellule B en regard, placer NOW()

Faire Alt-F11 puis dans le code de FEUILL1, mettre :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Dim Rw As Long
If Target.Column = 1 Then
Rw = Target.Row
Range("B" & Rw).Value = Now()
End If
End Sub
1
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
11 déc. 2010 à 16:39
Salut

Clic droit sur l'onglet de feuille et colle ce code qui contrôlera la plage A2 à A1000 et mettra la date du jour en B
Peut être serait il judicieux d'ajouter une msgbox qui éviterait l'effacement accidentel en B si on reclique sur une cellule déjà renseignée, ainsi qu'une gestion d'erreur

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A2:A1000], Target) Is Nothing Then
If Target <> "" Then Target.Offset(0, 1) = Date
End If
End Sub

1
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 17:14
Bonjour mike cela fonctionne, comment puis je faire pour que la date ce place dans une autre colonne que la b? selon les feuilles je doit mettre la date en e,f ou g, merci
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
Modifié par jmloulou le 11/12/2010 à 17:25
Sa vas j'ai trouver. une dernière question la date implémentée ne changera pas demain? et comment faire le msgbox et la gestion d'erreur, je suis désolé d'en demandé autant mais je suis vraiment très très novice dans ce domaine
0
Mike, ne le prend pas mal, mais tu peux me dire l'intérêt de réécrire un code totalement différent alors que le mien fonctionnait ? C'est vraiment pour dire au gars qui l'a fait qu'il a perdu son temps, ou pour montrer que t'en as une plus grosse ? Ou parce que t'as vraiment que ça à faire de ta vie ? Ce n'est pas la premiere fois, et twice is too much, comme on dit. Pour ma part je n'ai pas vraiment que ça a foutre, aussi je vais tout simplement arrêter d'écrire des bouts de codes, puisque de toutes manières un clampin ou l'autre repassera dans le quart d'heure pour réinventer l'eau tiède. C'est totalement contreproductif, et vain.
0
=IF(A1<>"";NOW();NOW())
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
11 déc. 2010 à 13:47
Heu ! Tu es sûr ?
0
Ben c'est copié de mon excel (EN). Il faut évidemment modifier le test A1<>"". Mais sinon, chaque fois qu'on change la valeur de la case de gauche, quelque soit le résultat du test, le contenu de la cellule de droite sera NOW(), et donc la date/heure du jour.
0
Raymond PENTIER Messages postés 58777 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 décembre 2024 17 258
11 déc. 2010 à 14:06
Bonjour jmloulou.

Ce ne sera pas évident : La fonction AUJOURDHUI() donne en effet chaque jour, par définition, une date différente !
0

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

Posez votre question
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 15:32
Attention je voudrait que la cellule date ce mette à chaque fois dans la case b par exemple de la même ligne et quel reste sans revenir a la date du jour ou j'ouvre le fichier c'est de la que vient mon souci.

merci pur vos réponse
0
Tu as raison, Raymond. En fait ce n'est pas faisable dans une cellule, mais bien en se basant par exemple sur l'événement "change" en VBA.

On parcourt la liste des cellules A, B de 1 à ....

Si B est vide et A est non vide, mettre NOW() dans B

Mais c'est lourd de chez lourd là où sous access il s'agit d'un problème trivial.
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 16:21
le problème dans mon cas c'est qu'il me faudrait une formule toute faite je suis débutant en excel, je ne connais pas les langages de programmation :-(
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 16:22
merci à vous Raymond et pseudo pour votre aide
0
You are welcome !!! n'oublie pas de marquer la question comme résolue, et à plus !

Tu n'as pas besoin de savoir programmer... ouvre ton excel, fais ALT F11, et colle le code que j'ai donné, il fera tout le boulot.
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 17:11
je suis désolé je n'arrirve pas a réaliser cela une page noir s'ouvre a chaque fois que je fait alt f11
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
11 déc. 2010 à 18:04
Re,

Tu fais un clic droit sur l'onglet de ta feuille et clic sur visualiser le code. C'est la même chose que de faire Alt + touche de fonction F11 (F11 est la touche de fonction en haut du clavier F9, F10 F11 etc ...)
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 18:07
j'ai réussi a le faire merci et pour protéger la donnée date déjà introduite pour que si on vas sur la ligne déjà créée la date ne change pas que dois je faire?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
11 déc. 2010 à 18:46
Re,

Teste ce code

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect([A2:A1000], Target) Is Nothing Then
If Target <> "" And Target.Offset(0, 1) = "" Then
Target.Offset(0, 1) = Date
End If
End If
End Sub
0
jmloulou Messages postés 11 Date d'inscription samedi 11 décembre 2010 Statut Membre Dernière intervention 23 décembre 2010
11 déc. 2010 à 21:38
Sa fonctionne un super grand merci
0