Ajout date automatique apres mon texte Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
C
Coshii
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 5 septembre 2017
Version d'Excel : 2016 FR

Message par Coshii » 5 septembre 2017, 10:51

Bonjour,

Voici mon problème, je gère actuellement un tableau ou des personnes doivent remplir des cases avec leurs initiales et j'aurais aimé ajouter une date derrière les initiales de la personne en automatique, le seul problème est que je ne maitrise pas encore Excel et je débute en VBA

Donc j'aurais besoin de votre aide pour que lorsque dans ma cellule j'inscris quelque chose (par exemple "JF") la date ce rajoute automatiquement dans cette même cellule afin d'avoir "JF-05/09"

Merci d'avance.
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'975
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 5 septembre 2017, 10:59

bonjour,

une solution via une macro événementielle, à mettre dans le code de la feuille, adapter éventuellement le numéro de colonne 1 pour A, 2 pour B, etc
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Target.Value <> "" Then
        Application.EnableEvents = False
        Target.Value = Target.Value & "-" & Format(Now(), "d/m")
        Application.EnableEvents = True
    End If
End Sub
C
Coshii
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 5 septembre 2017
Version d'Excel : 2016 FR

Message par Coshii » 5 septembre 2017, 11:23

Super merci

et donc si je veut faire en sorte que cela s'applique juste a une plage (de H21 à M66 par exemple), il faut que modifie cette ligne non ?
If Target.Column = 1 And Target.Value <> "" Then
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'975
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 5 septembre 2017, 11:51

re-bonjour,

en effet

voici la correction du code pour test sur une plage
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("H21:M66")) Is Nothing And Target.Value <> "" Then
        Application.EnableEvents = False
        Target.Value = Target.Value & "-" & Format(Now(), "d/m")
        Application.EnableEvents = True
    End If
End Sub
C
Coshii
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 5 septembre 2017
Version d'Excel : 2016 FR

Message par Coshii » 5 septembre 2017, 11:59

h2so4 a écrit :re-bonjour,

en effet

voici la correction du code pour test sur une plage
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("H21:M66")) Is Nothing And Target.Value <> "" Then
        Application.EnableEvents = False
        Target.Value = Target.Value & "-" & Format(Now(), "d/m")
        Application.EnableEvents = True
    End If
End Sub
super ca fonctionne merci !!

Maintenant je vais essaye de trouver pourquoi je doit clique sur ma case apres avoir rentrée les initial pour mettre la date et aussi pourquoi cela me rajoute une date a chaque fois que je clique sur la case :lol:
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'975
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 5 septembre 2017, 12:22

Coshii a écrit : Maintenant je vais essaye de trouver pourquoi je doit clique sur ma case apres avoir rentrée les initial pour mettre la date et aussi pourquoi cela me rajoute une date a chaque fois que je clique sur la case :lol:
pour éviter l'ajout d'une date quand il y déjà une date, voici
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("H21:M66")) Is Nothing And Target.Value <> "" Then
        If InStr(Target.Value, "-") = 0 Then
            Application.EnableEvents = False
            Target.Value = Target.Value & "-" & Format(Now(), "d/m")
            Application.EnableEvents = True
        End If
    End If
End Sub
je n'ai pas compris quel était ton premier problème. la macro se déclenche quand le contenu de la cellule est confirmé, que ce soit par un clic, la touche entrée ou une des touches flèches.
C
Coshii
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 5 septembre 2017
Version d'Excel : 2016 FR

Message par Coshii » 5 septembre 2017, 13:01

en gros sur mon fichier avec la macro quand je marque quelque chose quand je valide le seul moyen de mettre la date c'est en re-cliquant sur la cellule
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'975
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 5 septembre 2017, 17:55

bonjour,

peux-tu mettre ton fichier avec la macro et la séquence des instructions pour reproduire le problème ?

merci
C
Coshii
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 5 septembre 2017
Version d'Excel : 2016 FR

Message par Coshii » 11 septembre 2017, 10:51

Salut , désolé du temps de réponse ^^'

C'est bon au final c'était moi qui faisais n'importe quoi donc c'est bon c'est niquel merci !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message