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.
Private Sub Worksheet_Change(ByVal Target As Range)
Cordialement, -- AP
"CA" a écrit dans le message de news:Ow55y$
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
Private Sub Worksheet_Change(ByVal Target As Range)
Cordialement,
--
AP
"CA" <CA@free.fr> a écrit dans le message de
news:Ow55y$JWGHA.3328@TK2MSFTNGP02.phx.gbl...
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" <ardus.petus@laposte.net> a écrit dans le message de
news:uKHDt5JWGHA.3800@TK2MSFTNGP03.phx.gbl...
Dans ton code, après chaque Case (("B5", "B6", else), tu ajoutes = après
c.Text
Cordialement,
--
AP
"CA" <CA@free.fr> a écrit dans le message de
news:%23znZahJWGHA.2064@TK2MSFTNGP03.phx.gbl...
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" <ardus.petus@laposte.net> a écrit dans le message de
news:ePgnIcJWGHA.1192@TK2MSFTNGP03.phx.gbl...
If Intersect(target, Range("A1:A4")) Is Nothing Then Exit Sub
Cordialement,
--
AP
"CA" <CA@free.fr> a écrit dans le message de
news:eJdlcNJWGHA.4484@TK2MSFTNGP02.phx.gbl...
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" <thierryp_NO_SPAM@club-internet.fr> a écrit dans le
message
de
news:%23lowDCJWGHA.196@TK2MSFTNGP04.phx.gbl...
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" <thierryp_NO_SPAM@club-internet.fr> a écrit dans le
message
de
news:%23vBc9jIWGHA.1204@TK2MSFTNGP04.phx.gbl...
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
Private Sub Worksheet_Change(ByVal Target As Range)
Cordialement, -- AP
"CA" a écrit dans le message de news:Ow55y$
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