OVH Cloud OVH Cloud

Modification de cellules Historique JB

16 réponses
Avatar
Jean-Paul Brine
Bonjour,

Je mets au point un fichier de gestion d'horaire et je souhaite obtenir
l'historique de chacune des modif 's de cellule avec son auteur.
J'ai trouvé sur le super site d'Excelabo exactement ce qui me convient, le
fichier de JB "JB-Histriqueemodifications" mais une cela ne fonctionne pas.
J'obtiens le message d'erreur suivant: "Erreur de compilation- Nom ambigu
Worksheet_change".
Comment lever cette ambiguïté?
Merci pour votre aide.

JP

6 réponses

1 2
Avatar
LSteph
Ou apparaît l'erreur dans le code?


On 13 oct, 05:47, "Jean-Paul Brine" wrote:
Désolé, je  ne trouve pas la solution.
JP

"LSteph" a écrit dans le message de groupe de
discussion :



> verifie les sauts de ligne chez moi ca roule

> Jean-Paul Brine a écrit :
>> Comprends pas, maintenant j'obtiens le message "erreur de syntaxe".
>> JP

>> "LSteph" a écrit dans le message de groupe de
>> discussion :
>>
>>> ...chez moi cela à l'air de fonctionner, ainsi:

>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>> If Not Intersect([planning], Target) Is Nothing Then
>>>   On Error Resume Next
>>>   Target.Interior.ColorIndex = [couleurs].Find(Target,
>>> LookAt:=xlWhole).Interior.ColorIndex

>>>  Application.EnableEvents = False

>>>    If Target.NoteText = "" Then Target.AddComment    ' Cr éation

>>>    Target.Comment.Text Text:=Target.Comment.Text & _
>>>       Format(Target.Value, "# ##0.00 €") & " Modifié par:" & Environ
>>> ("UserName") & _
>>>         " Le " & Now & vbLf
>>>    Target.Comment.Shape.TextFrame.AutoSize = True
>>>  End If
>>>  Application.EnableEvents = True

>>> End Sub

>>> On 12 oct, 16:14, "Jean-Paul Brine" wrote :
>>>> Après bien des efforts, je jette l'éponge. Je m'en remets un foi s de
>>>> plus à
>>>> vous et je n'ai pas d'autre solution: voici le lien qui vous permett ra
>>>> comprendre mon prob.  http://cjoint.com/?kmqmvZ4fMZ
>>>> Petite précision, Il peut y avoir jusque 30 personnes dans la list e.
>>>> Merci infiniment,

>>>> JP

>>>> "LSteph" a écrit dans le message de groupe de
>>>> discussion :
>>>>

>>>> > Re,

>>>> > Merci pour ton   retour, en complément une remarque tout de m ême:
>>>> > tu peux avoir plusieurs Private Sub mais pas pour le même éven nement.

>>>> > Cordialement.

>>>> > --
>>>> > lSteph

>>>> > On 12 oct, 14:27, "Jean-Paul Brine"
>>>> > wrote:
>>>> >> En effet, j'ai deux fois "Private sub". Je suppose qu'il faut tou t
>>>> >> intégrer
>>>> >> dans un seul. Je vais donc rectifier et je vous tiendrai au
>>>> courant de >> la
>>>> >> suite.
>>>> >> Excusez mon langage un peu simpliste mais je suis un autodidacte qui
>>>> >> tâtonne
>>>> >> en VBA. Vous l'aurez deviné.
>>>> >> Merci.

>>>> >> JP

>>>> >> "Jean-Paul Brine" a écrit dans le
>>>> message >> de
>>>> >> groupe de discussion :
>>>> >>

>>>> >> > Bonjour,

>>>> >> > Je mets au point un fichier de gestion d'horaire et je souhaite
>>>> >> > obtenir
>>>> >> > l'historique de chacune des modif 's de cellule avec son auteur .
>>>> >> > J'ai trouvé sur le super site d'Excelabo exactement ce qui me >>
>>>> > convient,
>>>> >> > le
>>>> >> > fichier de JB "JB-Histriqueemodifications" mais une cela ne >> >
>>>> fonctionne
>>>> >> > pas. J'obtiens le message d'erreur suivant: "Erreur de
>>>> compilation- >> > Nom
>>>> >> > ambigu Worksheet_change".
>>>> >> > Comment lever cette ambiguïté?
>>>> >> > Merci pour votre aide.

>>>> >> > JP- Masquer le texte des messages précédents -

>>>> >> - Afficher le texte des messages précédents -- Masquer le tex te
>>>> des >> messages précédents -

>>>> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
LSteph
Notament Environ("UserName"...
doit être d'un seul tenant!

On 13 oct, 00:37, LSteph wrote:
verifie les sauts de ligne chez moi ca roule



Avatar
LSteph
http://cjoint.com/?knlsGCG6CT

C'est une simple agglo de vos deux codes, le tien et celui de JB
si on fait attention en copiant d'internet aux retours de ligne qui
auraient sauté
(facil cela apparaît en rouge) il ne doit pas y avoir de souci.

On 13 oct, 05:47, "Jean-Paul Brine" wrote:
Désolé, je  ne trouve pas la solution.
JP

"LSteph" a écrit dans le message de groupe de
discussion :



> verifie les sauts de ligne chez moi ca roule

> Jean-Paul Brine a écrit :
>> Comprends pas, maintenant j'obtiens le message "erreur de syntaxe".
>> JP

>> "LSteph" a écrit dans le message de groupe de
>> discussion :
>>
>>> ...chez moi cela à l'air de fonctionner, ainsi:

>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>> If Not Intersect([planning], Target) Is Nothing Then
>>>   On Error Resume Next
>>>   Target.Interior.ColorIndex = [couleurs].Find(Target,
>>> LookAt:=xlWhole).Interior.ColorIndex

>>>  Application.EnableEvents = False

>>>    If Target.NoteText = "" Then Target.AddComment    ' Cr éation

>>>    Target.Comment.Text Text:=Target.Comment.Text & _
>>>       Format(Target.Value, "# ##0.00 €") & " Modifié par:" & Environ
>>> ("UserName") & _
>>>         " Le " & Now & vbLf
>>>    Target.Comment.Shape.TextFrame.AutoSize = True
>>>  End If
>>>  Application.EnableEvents = True

>>> End Sub

>>> On 12 oct, 16:14, "Jean-Paul Brine" wrote :
>>>> Après bien des efforts, je jette l'éponge. Je m'en remets un foi s de
>>>> plus à
>>>> vous et je n'ai pas d'autre solution: voici le lien qui vous permett ra
>>>> comprendre mon prob.  http://cjoint.com/?kmqmvZ4fMZ
>>>> Petite précision, Il peut y avoir jusque 30 personnes dans la list e.
>>>> Merci infiniment,

>>>> JP

>>>> "LSteph" a écrit dans le message de groupe de
>>>> discussion :
>>>>

>>>> > Re,

>>>> > Merci pour ton   retour, en complément une remarque tout de m ême:
>>>> > tu peux avoir plusieurs Private Sub mais pas pour le même éven nement.

>>>> > Cordialement.

>>>> > --
>>>> > lSteph

>>>> > On 12 oct, 14:27, "Jean-Paul Brine"
>>>> > wrote:
>>>> >> En effet, j'ai deux fois "Private sub". Je suppose qu'il faut tou t
>>>> >> intégrer
>>>> >> dans un seul. Je vais donc rectifier et je vous tiendrai au
>>>> courant de >> la
>>>> >> suite.
>>>> >> Excusez mon langage un peu simpliste mais je suis un autodidacte qui
>>>> >> tâtonne
>>>> >> en VBA. Vous l'aurez deviné.
>>>> >> Merci.

>>>> >> JP

>>>> >> "Jean-Paul Brine" a écrit dans le
>>>> message >> de
>>>> >> groupe de discussion :
>>>> >>

>>>> >> > Bonjour,

>>>> >> > Je mets au point un fichier de gestion d'horaire et je souhaite
>>>> >> > obtenir
>>>> >> > l'historique de chacune des modif 's de cellule avec son auteur .
>>>> >> > J'ai trouvé sur le super site d'Excelabo exactement ce qui me >>
>>>> > convient,
>>>> >> > le
>>>> >> > fichier de JB "JB-Histriqueemodifications" mais une cela ne >> >
>>>> fonctionne
>>>> >> > pas. J'obtiens le message d'erreur suivant: "Erreur de
>>>> compilation- >> > Nom
>>>> >> > ambigu Worksheet_change".
>>>> >> > Comment lever cette ambiguïté?
>>>> >> > Merci pour votre aide.

>>>> >> > JP- Masquer le texte des messages précédents -

>>>> >> - Afficher le texte des messages précédents -- Masquer le tex te
>>>> des >> messages précédents -

>>>> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Jean-Paul Brine
Enfer et putréfaction! J'avais pigé sans m'en rendre compte. En réalité,
j'ai bien copié le code dans la feuille et corrigé les problèmes de lignes
(en rouge) mais le classeur était protégé et cela ne fonctionnait donc pas.
J'embraie donc sur la question suivante: je souhaite que le code reste
fonctionnel quand le fichier est protégé. Seules les cellules avec liste
déroulantes sont concernées par les historiques.
Merci 1000 fois.
JP


"LSteph" a écrit dans le message de groupe de
discussion :

http://cjoint.com/?knlsGCG6CT

C'est une simple agglo de vos deux codes, le tien et celui de JB
si on fait attention en copiant d'internet aux retours de ligne qui
auraient sauté
(facil cela apparaît en rouge) il ne doit pas y avoir de souci.

On 13 oct, 05:47, "Jean-Paul Brine" wrote:
Désolé, je ne trouve pas la solution.
JP

"LSteph" a écrit dans le message de groupe de
discussion :



> verifie les sauts de ligne chez moi ca roule

> Jean-Paul Brine a écrit :
>> Comprends pas, maintenant j'obtiens le message "erreur de syntaxe".
>> JP

>> "LSteph" a écrit dans le message de groupe de
>> discussion :
>>
>>> ...chez moi cela à l'air de fonctionner, ainsi:

>>> Private Sub Worksheet_Change(ByVal Target As Range)
>>> If Not Intersect([planning], Target) Is Nothing Then
>>> On Error Resume Next
>>> Target.Interior.ColorIndex = [couleurs].Find(Target,
>>> LookAt:=xlWhole).Interior.ColorIndex

>>> Application.EnableEvents = False

>>> If Target.NoteText = "" Then Target.AddComment ' Création

>>> Target.Comment.Text Text:=Target.Comment.Text & _
>>> Format(Target.Value, "# ##0.00 €") & " Modifié par:" & Environ
>>> ("UserName") & _
>>> " Le " & Now & vbLf
>>> Target.Comment.Shape.TextFrame.AutoSize = True
>>> End If
>>> Application.EnableEvents = True

>>> End Sub

>>> On 12 oct, 16:14, "Jean-Paul Brine"
>>> wrote:
>>>> Après bien des efforts, je jette l'éponge. Je m'en remets un fois de
>>>> plus à
>>>> vous et je n'ai pas d'autre solution: voici le lien qui vous
>>>> permettra
>>>> comprendre mon prob. http://cjoint.com/?kmqmvZ4fMZ
>>>> Petite précision, Il peut y avoir jusque 30 personnes dans la liste.
>>>> Merci infiniment,

>>>> JP

>>>> "LSteph" a écrit dans le message de groupe de
>>>> discussion :
>>>>

>>>> > Re,

>>>> > Merci pour ton retour, en complément une remarque tout de même:
>>>> > tu peux avoir plusieurs Private Sub mais pas pour le même
>>>> > évennement.

>>>> > Cordialement.

>>>> > --
>>>> > lSteph

>>>> > On 12 oct, 14:27, "Jean-Paul Brine"
>>>> > wrote:
>>>> >> En effet, j'ai deux fois "Private sub". Je suppose qu'il faut
>>>> >> tout
>>>> >> intégrer
>>>> >> dans un seul. Je vais donc rectifier et je vous tiendrai au
>>>> courant de >> la
>>>> >> suite.
>>>> >> Excusez mon langage un peu simpliste mais je suis un autodidacte
>>>> >> qui
>>>> >> tâtonne
>>>> >> en VBA. Vous l'aurez deviné.
>>>> >> Merci.

>>>> >> JP

>>>> >> "Jean-Paul Brine" a écrit dans le
>>>> message >> de
>>>> >> groupe de discussion :
>>>> >>

>>>> >> > Bonjour,

>>>> >> > Je mets au point un fichier de gestion d'horaire et je souhaite
>>>> >> > obtenir
>>>> >> > l'historique de chacune des modif 's de cellule avec son
>>>> >> > auteur.
>>>> >> > J'ai trouvé sur le super site d'Excelabo exactement ce qui me
>>>> >> > >>
>>>> > convient,
>>>> >> > le
>>>> >> > fichier de JB "JB-Histriqueemodifications" mais une cela ne >>
>>>> >> > >
>>>> fonctionne
>>>> >> > pas. J'obtiens le message d'erreur suivant: "Erreur de
>>>> compilation- >> > Nom
>>>> >> > ambigu Worksheet_change".
>>>> >> > Comment lever cette ambiguïté?
>>>> >> > Merci pour votre aide.

>>>> >> > JP- Masquer le texte des messages précédents -

>>>> >> - Afficher le texte des messages précédents -- Masquer le texte
>>>> des >> messages précédents -

>>>> - Afficher le texte des messages précédents -- Masquer le texte des
>>>> messages précédents -

- Afficher le texte des messages précédents -





Avatar
LSteph
Bonjour,


Il me semblerait plutôt que ce soit la protection de la feuille et
donc de ses cellules qui soit en cause ..non?
Une solution consiste à mettre à ta macro
lafeuille.unprotect "motdepasse" au début et idem avec protect à la
fin.

Si c'était les deux et password "toto":

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveWorkbook.Unprotect "toto"
ActiveSheet.Unprotect "toto"
If Not Intersect([planning], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [couleurs].Find(Target,
LookAt:=xlWhole).Interior.ColorIndex


Application.EnableEvents = False


If Target.NoteText = "" Then Target.AddComment ' Création


Target.Comment.Text Text:=Target.Comment.Text & _
Format(Target.Value, "# ##0.00 €") & " Modifié par:" & Environ
("UserName") & _
" Le " & Now & vbLf
Target.Comment.Shape.TextFrame.AutoSize = True
End If
Application.EnableEvents = True

ActiveSheet.Protect "toto"
ActiveWorkbook.Protect "toto"
End Sub




@+

--
lSteph


On 13 oct, 21:45, "Jean-Paul Brine" wrote:
Enfer et putréfaction! J'avais pigé sans m'en rendre compte. En réa lité,
j'ai bien copié le code dans la feuille et corrigé les problèmes de lignes
(en rouge) mais le classeur était protégé et cela ne fonctionnait d onc pas.
J'embraie donc sur la question suivante: je souhaite que le code reste
fonctionnel quand le fichier est protégé. Seules les cellules avec li ste
déroulantes sont concernées par les historiques.
Merci 1000 fois.
JP

"LSteph" a écrit dans le message de groupe de
discussion :




>http://cjoint.com/?knlsGCG6CT

> C'est une simple agglo  de vos deux codes, le tien et celui de JB
> si on fait attention en copiant d'internet  aux retours de ligne qui
> auraient sauté
> (facil cela apparaît en rouge) il ne doit pas y avoir de souci.

> On 13 oct, 05:47, "Jean-Paul Brine" wrote:
>> Désolé, je  ne trouve pas la solution.
>> JP

>> "LSteph" a écrit dans le message de groupe de
>> discussion :

>> > verifie les sauts de ligne chez moi ca roule

>> > Jean-Paul Brine a écrit :
>> >> Comprends pas, maintenant j'obtiens le message "erreur de syntaxe".
>> >> JP

>> >> "LSteph" a écrit dans le message de groupe d e
>> >> discussion :
>> >> .
>> >>> ...chez moi cela à l'air de fonctionner, ainsi:

>> >>> Private Sub Worksheet_Change(ByVal Target As Range)
>> >>> If Not Intersect([planning], Target) Is Nothing Then
>> >>>   On Error Resume Next
>> >>>   Target.Interior.ColorIndex = [couleurs].Find(Target,
>> >>> LookAt:=xlWhole).Interior.ColorIndex

>> >>>  Application.EnableEvents = False

>> >>>    If Target.NoteText = "" Then Target.AddComment    ' C réation

>> >>>    Target.Comment.Text Text:=Target.Comment.Text & _
>> >>>       Format(Target.Value, "# ##0.00 €") & " Modifié par :" & Environ
>> >>> ("UserName") & _
>> >>>         " Le " & Now & vbLf
>> >>>    Target.Comment.Shape.TextFrame.AutoSize = True
>> >>>  End If
>> >>>  Application.EnableEvents = True

>> >>> End Sub

>> >>> On 12 oct, 16:14, "Jean-Paul Brine"
>> >>> wrote:
>> >>>> Après bien des efforts, je jette l'éponge. Je m'en remets un fois de
>> >>>> plus à
>> >>>> vous et je n'ai pas d'autre solution: voici le lien qui vous
>> >>>> permettra
>> >>>> comprendre mon prob.  http://cjoint.com/?kmqmvZ4fMZ
>> >>>> Petite précision, Il peut y avoir jusque 30 personnes dans la l iste.
>> >>>> Merci infiniment,

>> >>>> JP

>> >>>> "LSteph" a écrit dans le message de groupe de
>> >>>> discussion :
>> >>>> ...

>> >>>> > Re,

>> >>>> > Merci pour ton   retour, en complément une remarque tout de même:
>> >>>> > tu peux avoir plusieurs Private Sub mais pas pour le même
>> >>>> > évennement.

>> >>>> > Cordialement.

>> >>>> > --
>> >>>> > lSteph

>> >>>> > On 12 oct, 14:27, "Jean-Paul Brine"
>> >>>> > wrote:
>> >>>> >> En effet, j'ai deux fois "Private sub". Je suppose qu'il faut
>> >>>> >> tout
>> >>>> >> intégrer
>> >>>> >> dans un seul. Je vais donc rectifier et je vous tiendrai au
>> >>>> courant de >> la
>> >>>> >> suite.
>> >>>> >> Excusez mon langage un peu simpliste mais je suis un autodidac te
>> >>>> >> qui
>> >>>> >> tâtonne
>> >>>> >> en VBA. Vous l'aurez deviné.
>> >>>> >> Merci.

>> >>>> >> JP

>> >>>> >> "Jean-Paul Brine" a écrit dans l e
>> >>>> message >> de
>> >>>> >> groupe de discussion :
>> >>>> >>

>> >>>> >> > Bonjour,

>> >>>> >> > Je mets au point un fichier de gestion d'horaire et je souha ite
>> >>>> >> > obtenir
>> >>>> >> > l'historique de chacune des modif 's de cellule avec son
>> >>>> >> > auteur.
>> >>>> >> > J'ai trouvé sur le super site d'Excelabo exactement ce qui me

>> >>>> > convient,
>> >>>> >> > le
>> >>>> >> > fichier de JB "JB-Histriqueemodifications" mais une cela ne >>

>> >>>> fonctionne
>> >>>> >> > pas. J'obtiens le message d'erreur suivant: "Erreur de
>> >>>> compilation- >> > Nom
>> >>>> >> > ambigu Worksheet_change".
>> >>>> >> > Comment lever cette ambiguïté?
>> >>>> >> > Merci pour votre aide.

>> >>>> >> > JP- Masquer le texte des messages précédents -

>> >>>> >> - Afficher le texte des messages précédents -- Masquer le texte
>> >>>> des >> messages précédents -

>> >>>> - Afficher le texte des messages précédents -- Masquer le tex te des
>> >>>> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -


Avatar
Jean-Paul Brine
Merci à tous et à "Le Steph" en particulier.
JP

"Jean-Paul Brine" a écrit dans le message de
groupe de discussion :
Bonjour,

Je mets au point un fichier de gestion d'horaire et je souhaite obtenir
l'historique de chacune des modif 's de cellule avec son auteur.
J'ai trouvé sur le super site d'Excelabo exactement ce qui me convient, le
fichier de JB "JB-Histriqueemodifications" mais une cela ne fonctionne
pas. J'obtiens le message d'erreur suivant: "Erreur de compilation- Nom
ambigu Worksheet_change".
Comment lever cette ambiguïté?
Merci pour votre aide.

JP


1 2