Afficher la date du jour VBA [Résolu/Fermé]

Signaler
Messages postés
11
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
7 octobre 2014
-
Messages postés
11
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
7 octobre 2014
-
Bonjour,


J'aurais besoin d'un petit coup de main en VBA je m'explique,
J'ai un fichier permettant de suivre l'avancement des affaires le statut est soit en chiffrage soit en négociation soit en commande. le statut se sélectionne avec une liste déroulante.
Je souhaiterais qu'à chaque fois que statut passe en commande la date du jour s'affiche dans la cellule d'à côté de ce statut
Je ne sais vraiment pas comment faire, j'ai essayé avec des formules excel mais je ne pense pas que ce soit possible car il faut coller la date du jour en valeur (afin que celle ci ne change pas le lendemain
Quelqu'un peut-il m'aider ?

Merci d'avance

Cordialement
Je joins une image pour excel



4 réponses

Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
31
Bonjour,
Dans le code de la feuille (pas dans un module) utilisez la procédure évenementielle Worksheet_Change

Par exemple :
Private Sub Worksheet_Change(ByVal Target As Range)
Range("A1").Value = Date
End Sub

On peut utiliser en plus de vos conditions sur le Statut l'emplacement à surveiller pour indiquer la date ou l'emplacement où la mettre avec la cellule qui a été modifiée. (Target.Row, target.Column ou Target.Adress)
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
11
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
7 octobre 2014
1
Merci beaucoup pour votre réponse, je ne connaissais pas la procédure évènementielle qui correspond tout à fait à mes attentes

J'ai cependant quelques questions afin de mieu comprendre comment cela marche

1/ comment excel comprend-il que c'est lorsque j'affiche commande qu'il doit afficher la date en pas quand je choisis une autre valeur comme négo ?

2/ la date qui s'affiche en A1 va évoluer chaque jour étant donnée qu'il s'agit d'une formule aujourdhui(), cela ne va-t-il pas faire évoluer les dates remplis par la macro également au fil des jours ?

3/En l'état actuel, la procédure ne fonctionne que sur les cases D4 et D5 la encore je ne comprend pas comment c'est possible sans définition d'une plage

Pourriez vous m'éclairer ?
Messages postés
112
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
10 juin 2015
31
Bonjour,

1) Excel ou plutôt le code VBA va faire ce qu'on lui demande dès qu'un changement à lieu dans la feuille grace à la macro évenementielle Worksheet_Change

2) Non, il ne s'agit pas d'une formule, mais bien de la date uniquement, celle-si ne se modifierait qu'avec un nouveau déclenchement de la macro

3) Sans avoir plus de détail ou mieux votre fichier, difficile de comprendre là où vous bloquer.

Si j'ai bien compris avec votre petite image, on a le statut dans la colonne en C. Lorsque celui-ci change et devient "Commande" on indique la date dans la colonne D (sur la même ligne).

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
If Target.Value = "Commande" Then Range("D" & Target.Row).Value = Date
End Sub


Travaillez votre macro avec mes commentaires précédant en incluant vos conditions et redites si vous bloquez et où.
Messages postés
11
Date d'inscription
lundi 10 mars 2014
Statut
Membre
Dernière intervention
7 octobre 2014
1
Très bien je comprend mieux à présent
J'ai grâce à vos commentaire pu faire ce que je voulais merci beaucoup pour votre réponse ainsi pour m'avoir permis de bien la comprendre

Bonne continuation