OVH Cloud OVH Cloud

Actualisation de commentaires

11 réponses
Avatar
CA
Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en récupérant
les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de contenu
d'une des cellules. Je ne sais pas comment lui indiquer de "surveiller" ces
cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou solution.
Bonne journée.

10 réponses

1 2
Avatar
CA
Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve sur une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message de
news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille. Tu
définis quelle est la plage de cellules concernées,et tu écris un truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de contenu
d'une des cellules. Je ne sais pas comment lui indiquer de "surveiller"
ces


cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou solution.
Bonne journée.




--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline



Avatar
ThierryP
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille. Tu
définis quelle est la plage de cellules concernées,et tu écris un truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en récupérant
les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de contenu
d'une des cellules. Je ne sais pas comment lui indiquer de "surveiller" ces
cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou solution.
Bonne journée.




--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

Avatar
ThierryP
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du classeur.

Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve sur une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message de
news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille. Tu
définis quelle est la plage de cellules concernées,et tu écris un truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de contenu
d'une des cellules. Je ne sais pas comment lui indiquer de "surveiller"
ces


cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou solution.
Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline



Avatar
CA
RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La déclaration de
la procédure ne correspond pas à la description de l'évènement ou de la
procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message de
news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du classeur.

Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve sur
une


autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message
de


news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille. Tu
définis quelle est la plage de cellules concernées,et tu écris un truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





Avatar
CA
RE
Merci de ta réponse , j'avais également essayé mais toujours le même
message, c'est apparemment la première ligne qui pose problème


"ThierryP" a écrit dans le message de
news:
if intersect(target,range("A1:A4") is nothing then exit sub devrait
mieux le faire !!

RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La déclaration
de


la procédure ne correspond pas à la description de l'évènement ou de la
procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message
de


news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du classeur.

Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve
sur




une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message
de


news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille.
Tu





définis quelle est la plage de cellules concernées,et tu écris un
truc





du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que
l'une






d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline







Avatar
ThierryP
if intersect(target,range("A1:A4") is nothing then exit sub devrait
mieux le faire !!

RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La déclaration de
la procédure ne correspond pas à la description de l'évènement ou de la
procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message de
news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du classeur.

Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve sur
une


autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message
de


news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille. Tu
définis quelle est la plage de cellules concernées,et tu écris un truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





Avatar
Ardus Petus
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub

Cordialement,
--
AP

"CA" a écrit dans le message de
news:
RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La déclaration
de

la procédure ne correspond pas à la description de l'évènement ou de la
procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message de
news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du classeur.

Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve
sur



une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le message
de


news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta feuille.
Tu




définis quelle est la plage de cellules concernées,et tu écris un
truc




du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que
l'une





d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline









Avatar
CA
Merci de ta réponse, mais visiblement le problème semble ailleurs.
ci dessous le code, il y a surement quelque chose qui cloche dedans.....

Private Sub worksheet_change(target As Range)
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub
Dim c As Comment
Dim ws As Worksheet
Set ws = Sheets("Organigramme")
For Each c In ActiveSheet.Comments
Select Case c.Parent.Address(0, 0)
Case "B5": c.Text Chr(10) & "Effectif moyen : " &
ws.Range("a1") & Chr(10) & "Ancienneté moyenne : " & ws.Range("a2") &
Chr(10) & "Points : " & ws.Range("a3") & Chr(10) &
"Points en % total : " & ws.Range("a4") & " %" & Chr(10) & "Heures
sup. : " & ws.Range("a5") & " h." & Chr(10) & "Coûts :
" & ws.Range("a6") & " ?" & Chr(10) & "Coûts en % total : " &
ws.Range("a7") & " %"
Case "B6": c.Text "CA= " & ws.Range("b1") & Chr(10) & "MG= " &
ws.Range("b2")
Case Else: c.Text c.Parent.Text
End Select
Next c
End Sub


"Ardus Petus" a écrit dans le message de
news:
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub

Cordialement,
--
AP

"CA" a écrit dans le message de
news:
RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La déclaration
de

la procédure ne correspond pas à la description de l'évènement ou de la
procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message
de


news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du
classeur.




Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se trouve
sur



une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le
message




de
news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta
feuille.





Tu
définis quelle est la plage de cellules concernées,et tu écris un
truc




du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que
l'une





d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline













Avatar
Ardus Petus
Dans ton code, après chaque Case (("B5", "B6", else), tu ajoutes = après
c.Text

Cordialement,
--
AP

"CA" a écrit dans le message de
news:%
Merci de ta réponse, mais visiblement le problème semble ailleurs.
ci dessous le code, il y a surement quelque chose qui cloche dedans.....

Private Sub worksheet_change(target As Range)
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub
Dim c As Comment
Dim ws As Worksheet
Set ws = Sheets("Organigramme")
For Each c In ActiveSheet.Comments
Select Case c.Parent.Address(0, 0)
Case "B5": c.Text Chr(10) & "Effectif moyen : " &
ws.Range("a1") & Chr(10) & "Ancienneté moyenne : " & ws.Range("a2") &
Chr(10) & "Points : " & ws.Range("a3") & Chr(10) &
"Points en % total : " & ws.Range("a4") & " %" & Chr(10) & "Heures
sup. : " & ws.Range("a5") & " h." & Chr(10) & "Coûts :
" & ws.Range("a6") & " ?" & Chr(10) & "Coûts en % total : " &
ws.Range("a7") & " %"
Case "B6": c.Text "CA= " & ws.Range("b1") & Chr(10) & "MG= " &
ws.Range("b2")
Case Else: c.Text c.Parent.Text
End Select
Next c
End Sub


"Ardus Petus" a écrit dans le message de
news:
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub

Cordialement,
--
AP

"CA" a écrit dans le message de
news:
RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que ma
syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La
déclaration



de
la procédure ne correspond pas à la description de l'évènement ou de
la



procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le message
de


news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du
classeur.




Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se
trouve





sur
une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le
message




de
news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta
feuille.





Tu
définis quelle est la plage de cellules concernées,et tu écris un
truc




du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires en
récupérant


les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement de
contenu




d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès que
l'une





d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de
fin






gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline

















Avatar
CA
RE
Ben j'ai suivi ton conseil mais toujours le même message :

"La déclaration de la procédure ne correspond pas à la description de
l'évènement ou de la
procédure de même nom."

Je crois que je vais laisser tomber...trop fort pour moi :-(

"Ardus Petus" a écrit dans le message de
news:
Dans ton code, après chaque Case (("B5", "B6", else), tu ajoutes = après
c.Text

Cordialement,
--
AP

"CA" a écrit dans le message de
news:%
Merci de ta réponse, mais visiblement le problème semble ailleurs.
ci dessous le code, il y a surement quelque chose qui cloche dedans.....

Private Sub worksheet_change(target As Range)
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub
Dim c As Comment
Dim ws As Worksheet
Set ws = Sheets("Organigramme")
For Each c In ActiveSheet.Comments
Select Case c.Parent.Address(0, 0)
Case "B5": c.Text Chr(10) & "Effectif moyen : " &
ws.Range("a1") & Chr(10) & "Ancienneté moyenne : " & ws.Range("a2") &
Chr(10) & "Points : " & ws.Range("a3") & Chr(10)
&


"Points en % total : " & ws.Range("a4") & " %" & Chr(10) & "Heures
sup. : " & ws.Range("a5") & " h." & Chr(10) & "Coûts :
" & ws.Range("a6") & " ?" & Chr(10) & "Coûts en % total : " &
ws.Range("a7") & " %"
Case "B6": c.Text "CA= " & ws.Range("b1") & Chr(10) & "MG= " &
ws.Range("b2")
Case Else: c.Text c.Parent.Text
End Select
Next c
End Sub


"Ardus Petus" a écrit dans le message de
news:
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub

Cordialement,
--
AP

"CA" a écrit dans le message de
news:
RE,
Ca ne semble pas fonctionner. ma palage est de A1 à A4, est ce que
ma




syntaxe est correcte?
dans la feuille en question;
If Intersect(target, "A1:A4") Is Nothing Then Exit Sub
...
...

Bizarrement si jécris an C1 par exemple j'ai le message " La
déclaration



de
la procédure ne correspond pas à la description de l'évènement ou de
la



procédure de même nom."

Merci Thierry

"ThierryP" a écrit dans le
message




de
news:%
Re,

il ne te reste qu'à recopier cette procédure sur chaque feuille
concernée en adaptant la plage à chaque fois.
Cette procédure évènementielle est propre à chaque feuille du
classeur.




Merci beaucoup Thierry,
Je ne connaissais pas cette instruction...... si ma plage se
trouve





sur
une
autre feuille (ex : Feuil2 de A1:A5) comment écrire cela après
(target,.....)?
Agréable journée.

"ThierryP" a écrit dans le
message




de
news:%
Bonjour CA,

Peut-être en utilisant une procédure WorkSheet_Change de ta
feuille.





Tu
définis quelle est la plage de cellules concernées,et tu écris
un







truc
du genre :

Private sub worksheet_change(target as range)
if intersect(target, ta_plage_à_toi) is nothing then exit sub
ta_macro
end sub

Bonjour à tout le forum.

J'ai une routine me permettant d'actualiser des commentaires
en








récupérant
les informations contenues dans des cellules.
Le seul hic c'est qu'il me faut la lancer à chaque changement
de








contenu
d'une des cellules. Je ne sais pas comment lui indiquer de
"surveiller"




ces
cellules et de m'actualiser les contenus de commentaire dès
que








l'une
d'entre elles changent de valeur.

Merci d'avance de m'avoir lu et peut être suggérer une idée ou
solution.




Bonne journée.


--

@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de
fin






gourmet - G. Courteline





--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline





















1 2