Contraindre la saisie de la date du jour + trigramme dans la cellule prévue pour commentaire

guillaumevalcin

XLDnaute Nouveau
Bonjour je suis adepte d'un formalisme simple dans tous mes outils de suivi EXCEL, toutes mes colonnes commentaires obéissent à un principe simple, chaque personne remplissant un commentaire de suivi doit impérativement indiquer la date du commentaire et son trigramme un commentaire est donc toujours préfixé comme suit

JJ/MM/AA - ABC (en gras) suivi du commentaire

Beaucoup de mes collaborateurs ont du mal à comprendre le principe ou y vont de petite personnalisation avec des crochets par exemple

J'ai donc deux approches :

Une formule de validation des données imposant un =ET(NON(ESTERREUR(CHERCHE("/";I5)));NON(ESTERREUR(CHERCHE("-";I5)))) >> ici la formule ne contraint suffisamment le masque de saisie qui n'impose pas de trigramme
>> Cette approche pourrait compter le nombre de "/" ou CHERCHE renvoie 3 et exige + 3 autres ensuite pour toujours contraindre l'ajout de la date

Un formulaire de saisie UserForm qui imposerait un calcul du trigramme via l'ajout du prénom + nom et qui permettrait de saisir automatiquement, la date d'ajout et le trigramme tel que JJ/MM/AA - ABC (en gras si on peut forcer)

SI une personne à l'idée qui va bien , merci à tous, pour votre aide
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour

A mettre dans le code de la feuille idoine
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Column = 9 And Target.Row > 2 And Target.Count = 1 Then
        If Target.Value = "" Then
        Comm = InputBox("Saisir votre commentaire,svp", "Commentaire")
            Application.EnableEvents = False
            Target.Value = Format(Now(), "dd/mm/yyyy") & "-" & Application.UserName & "-" & Comm
            Application.EnableEvents = True
        End If
    End If
End Sub

NB: A l'usage, c'est très peu ergonomique ;) (je dirais même: très vite soûlant ;)
Heureusement qu'Excel nous permet d'éviter cette épreuve :rolleyes:
(en simplement désactivant les macros à l'ouverture du classeur)
C'est ce que je ferais si je bossais chez C****S C*b*r****r*t* ;)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Puisque tu parles de commentaire, alors autant utiliser le commentaire disponible dans Excel
Donc supprimes la précédente macro et mets celle-ci à la place au même endroit
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
 If .Column = 9 And .Row > 2 Then
    If .Comment Is Nothing Then .AddComment
    .Comment.Text Text:=Format(Now, "dd/mm/yyyy hh:mm"" - """) & Application.UserName & " - " & .Text
    .Comment.Shape.TextFrame.AutoSize = -1: .Comment.Visible = 0
  End If
End With
End Sub
NB: Là, c'est déjà moins pénible à l'usage ;)

PS: Code d'origine emprunté à JB
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Personnellement, j'utiliserai deux colonnes:
  1. une pour insérer la date de modification du commentaire (non modifiable) par l'utilisateur
  2. une seconde pour le commentaire
il est toujours plus intéressant, pour des traitements futurs, d'avoir une "vraie" date plutôt qu'une date en texte.
 

Staple1600

XLDnaute Barbatruc
Bonjour mapomme

mapomme
L'utilisateur lambda ne pourra pas modifier, l'autre utilisateur (appelons-le aguerri) fera ce qu'il voudra ;)
Question:
Quel type d'utilisateurs sont les collaborateurs du demandeur ? ;)

[taquinerie d'avant la messe et/ou l'apéro]
je t'offre un e (pour là où il manque dans ton message ;) )
[/taquinerie d'avant la messe et/ou l'apéro]
Edition: Bon bah ma taquinerie tombe à l'eau, tu viens d'éditer ;)
 
Dernière édition:

guillaumevalcin

XLDnaute Nouveau
Merci Staple et ma pomme pour votre intervention, Staple puis je te demander de retirer les informations identifiantes dans ton commentaire je vais effectivement changer mon peudo également, si j'arrive à trouver la modalité dans le forum, merci, beaucoup
 

Staple1600

XLDnaute Barbatruc
Re

Il est un peu tard pour cela, non ?
Mais tu parles de quel commentaire?
J'ai posté des messages (avec des macros), pas des commentaires ;)

NB: Tu as pris le temps de remplacer la PJ.
Bien
Mais as-tu eu le temps de tester les propositions?
Car pas eu de retour à ce sujet de ta part :rolleyes:
 

Staple1600

XLDnaute Barbatruc
Re

Tu me demandes de supprimer ce qui permets d'identifier
OK, OK
Mais penses, toi, à le faire en premier, camarade ;)
Regardes dans les propriétés de ta nouvelle PJ, ce qu'on y trouve !
Nico*@saint-gobain.com
(Et je ne parle pas de ton nom qu'on peut lire dans : Dernières modifications par:)
;)
 

guillaumevalcin

XLDnaute Nouveau
Bonjour

A mettre dans le code de la feuille idoine
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 9 And Target.Row > 2 And Target.Count = 1 Then
        If Target.Value = "" Then
        Comm = InputBox("Saisir votre commentaire,svp", "Commentaire")
            Application.EnableEvents = False
            Target.Value = Format(Now(), "dd/mm/yyyy") & "-" & Application.UserName & "-" & Comm
            Application.EnableEvents = True
        End If
    End If
End Sub

NB: A l'usage, c'est très peu ergonomique ;) (je dirais même: très vite soûlant ;)
Heureusement qu'Excel nous permet d'éviter cette épreuve :rolleyes:
(en simplement désactivant les macros à l'ouverture du classeur)
C'est ce que je ferais si je bossais chez C****S C*b*r****r*t* ;)

Merci, tout d'abord Staple, j'ai une erreur 424: Objet Requis ; je pense qu'effectivement je dois d'une certaine façon déclarer à quel endroit de la feuille je dois positionner ce script, je suis archi nul en VBA, comment je le déclare dans le document ? merci
 

Staple1600

XLDnaute Barbatruc
Re,

Pour tes soucis de confidentialité, relire mon précédent message

Sinon, faire clic-droit sur l'onglet concerné par la macro et là choisir Visualiser le code, c'est là à droite dans la partie blanche qu'il faut coller le code VBA.

NB: Il ne faut pas mettre mes macros (en tout cas, celles de cette discussion) dans un module standard mais dans le code de la feuille comme je viens de le détailler.

PS: La seconde macro est moins "contraignante" à l'usage.
Mais cela, je l'ai déjà écrit quand je l'ai publiée. ;)
 

guillaumevalcin

XLDnaute Nouveau
Re

Il est un peu tard pour cela, non ?
Mais tu parles de quel commentaire?
J'ai posté des messages (avec des macros), pas des commentaires ;)

NB: Tu as pris le temps de remplacer la PJ.
Bien
Mais as-tu eu le temps de tester les propositions?
Car pas eu de retour à ce sujet de ta part :rolleyes:
Je suis nul dans la gestion des Forums, j'utilise pas du tout ce genre de mode de communication, donc désolé, si je ne fais pas tout comme il faut, j'ai donc remplacé le fichier, j'espère avoir été respectueux, sinon, je vais essayer de m'améliorer avec le temps :)
 

guillaumevalcin

XLDnaute Nouveau
Bonjour à tous,

Personnellement, j'utiliserai deux colonnes:
  1. une pour insérer la date de modification du commentaire (non modifiable) par l'utilisateur
  2. une seconde pour le commentaire
il est toujours plus intéressant, pour des traitements futurs, d'avoir une "vraie" date plutôt qu'une date en texte.

En terme d'ergonomie on est tour tenté d'ajouter des colonnes d'information pour un meilleur traitement, mais c'est dans ce cas une contrainte
l'objectif est de pouvoir par une même occurrence suivre son évolution dans le même commentaire tu trouves plusieurs empreintes telles que

ex. Cellule G1:
01/01/2010 - ABC
04/01/2010 - ABC
08/01/2010 - DEF
 

Staple1600

XLDnaute Barbatruc
Re

Je voulais juste te prévenir qu'il y avait encore des infos confidentielles dans ta PJ
Or il devrait y en avoir aucune (cf la charte du forum, point relatif à la RGPD)

(EDITION: Vu que tu viens de la supprimer, plus de problème de ce côté là ;))
Mais du coup, c'est mois facile pour faire des tests
(Joins un fichier créé pour l'occasion, passé au karcher en passant par Options/Centre de gestion de la confidentialité)

Donc, est-ce qu'au final, tu as réussi à tester un de mes code VBA?
(NB: Il faut enregistrer ton classeur en *.xlsm pour qu'il conserve les macros et qu'elles soient donc effectives)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 863
Messages
2 113 663
Membres
111 933
dernier inscrit
usager