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
Pseudo - 12 déc. 2010 à 11:50
A voir également:
- Implémentation de date sous excel 2003
- Liste déroulante excel - Guide
- Si et excel - Guide
- Trier par date excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
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
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
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
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
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
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
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
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
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
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.
=IF(A1<>"";NOW();NOW())
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
11 déc. 2010 à 13:47
Heu ! Tu es sûr ?
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
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 !
Ce ne sera pas évident : La fonction AUJOURDHUI() donne en effet chaque jour, par définition, une date différente !
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
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
merci pur vos réponse
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.
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.
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
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 :-(
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
11 déc. 2010 à 16:22
merci à vous Raymond et pseudo pour votre aide
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
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
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
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 ...)
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 ...)
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
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?
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
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
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
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
11 déc. 2010 à 21:38
Sa fonctionne un super grand merci