Date automatique dans excel

Résolu/Fermé
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 - Modifié par AMISDAL le 14/06/2010 à 15:31
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 - 21 juin 2010 à 10:33
Bonjour,

Serait il possible dans excel de mettre dans une colonne automatiquement la date du jour lorsque l'on met une croix dans une autre colonne ?
Merci

A voir également:

13 réponses

dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
11 juin 2010 à 10:39
bonjour,
=SI(A1="X";AUJOURDHUI();"")

si 'une croix' est un X ou un x
6
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
11 juin 2010 à 13:14
merci beaucoup
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
14 juin 2010 à 15:30
Bonjour,
Par rapport à l'insertion automatique d'une date, comment faire pour que celle ci ne change pas quand on change de jour ?
Merci
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
Modifié par dobo69 le 14/06/2010 à 16:14
bonjour,

il faut pour le coup passer par un code vba pour que cette date puisse etre 'figée' (ce que ne peut pas faire une fonction).
A télécharger petit fichier exemple :
http://cjoint.com/data/goqgSe3pu6_insererdate.xls
Si vous n'avez besoin de rien, demandez-moi.
0

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

Posez votre question
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
17 juin 2010 à 14:36
Bonjour,
Ok ça marche mais... quand j'ai une colonne entière à marquer de cette manière, comment faire la copie de cette donnée
Merci
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
17 juin 2010 à 14:42
bonjour,

Déjà fait précédemment sur un autre topic par Michel_m (que je salue au passage) et à qui reviennent donc les droits et remerciement...
http://www.cijoint.fr/cj201006/cijMpViEmi.xls
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
17 juin 2010 à 15:01
Excusez moi mais je n'ai encore jamais fait de macro et je ne comprends pas vraiment ce qu'il faut faire...
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
Modifié par dobo69 le 17/06/2010 à 16:06
dans votre fichier faire clic-droit sur l'onglet concerné et 'visualiser le code' Cela ouvre l'éditeur Visual Basic sur le module de votre feuille.
Coller le code suivant :
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2:B1000")) Is Nothing Then Exit Sub
Target.Offset(0, -1) = Now
End Sub

Pour adapter à votre cas :
2°ligne : indique la plage sur laquelle le test doit etre porté (cellules que l'on remplie)
à modifier donc pour votre propre plage : "B2:B1000" par C10:C50 par exemple.
3°ligne :
Offset(0, -1) indique à la macro de sélectionner la case de la colonne d'avant (Offset indique le déplacement et (0, -1) le sens du déplacement en l'occurrence 0 ligne et -1 colonne, donc concrètement la macro se place sur la cellule colonne A de la même ligne que la saisie.

le nom de la macro inclut le nom Worksheet_Change qui signifie qu'elle se déclenche à chaque modification dans la feuille. On peut donc considérer qu'elle est "automatique"
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
17 juin 2010 à 15:34
J'ai pas encore tout compris mais je crois que je vais étudier tout ça la tete reposée je vous tiens au courant de mes avancées !!!
0
Bonjour,
Ca y est je crois que j'ai compris. Mais maintenant, j'ai plusieurs fois dans la meme feuille la meme demarche à faire, quand je copie la formule en dessous de la première dans visualiser le code, la fonction marche mais à chaque fois il me dit ; Erreur de compilation - Nom ambigu détecté : worksheet_change
Faut-il l'appeler autrement et comment
Merci
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
18 juin 2010 à 14:45
en fait la formule ne marche pas, je ne sais pas si l'on peut mettre plusieurs codes sur une feuille
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
18 juin 2010 à 14:53
bonjour,

cela se passe dans
If Intersect(Target, Range("B2:B1000")) Is Nothing Then Exit Sub

où il faut mettre à la place de "B2:B1000" la ou les plages que vous souhaitez :
"B1:B50;E2;F3:F25" par exemple pour une plage de cellules non contiguës.
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
18 juin 2010 à 15:53
ça ne marche pas il m'indique erreur d'execution '1004' - la méthode 'Range' de l'objet '_worksheet' a échoué.
Ensuite il me dit de faire fin ou debogage que faut il faire
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
18 juin 2010 à 16:37
En plus j'ai mis un commentaire et je ne sais pas si vous pouvez le lire comme ça donc je le remets....
ça ne marche pas il m'indique erreur d'execution '1004' - la méthode 'Range' de l'objet '_worksheet' a échoué.
Ensuite il me dit de faire fin ou debogage que faut il faire
0
dobo69 Messages postés 1587 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 30 juin 2013 822
Modifié par dobo69 le 18/06/2010 à 23:29
Il y a effectivement une erreur dans ce que j'ai écris
Les sélections multiples en VBA s'écrivent avec une virgule et non pas un point virgule : "B1:B50,E2,F3:F25". Cependant dans ce cas cela renvoie malgré tout une erreur. Par contre, ce n'est pas très "propre" mais en annulant l'erreur le code remplis sa fonction....
remplacer donc le code de la feuille par celui-ci (avec bien sur votre propre 'Range' :

Private Sub Worksheet_Change(ByVal Target As Range) 
On Error Resume Next 
If Intersect(Target, Range("B2:B10,F2:F10")) Is Nothing Then Exit Sub 
Target.Offset(0, -1) = Now 
End Sub

Si vous n'avez besoin de rien, demandez-moi.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
18 juin 2010 à 23:36
Bonsoir,

Il y a aussi la solution simple de ctrl+; qui inscrit la date
Et tirer vers le bas en maintenant ctrl appuyé pour la recopier
eric
0
AMISDAL Messages postés 162 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 24 mars 2016 2
21 juin 2010 à 10:33
merci dobo69 ça marche super
0