Implémentation de date sous excel 2003

Résolu
jmloulou Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 Pseudo -
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

Pseudo
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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
Pseudo
 
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
Pseudo
 
=IF(A1<>"";NOW();NOW())
0
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 350
 
Heu ! Tu es sûr ?
0
Pseudo
 
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 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 350
 
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   Statut Membre Dernière intervention  
 
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
Pseudo
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
merci à vous Raymond et pseudo pour votre aide
0
Pseudo
 
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   Statut Membre Dernière intervention  
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention  
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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   Statut Membre Dernière intervention  
 
Sa fonctionne un super grand merci
0