Erreur compilation Worksheet_Change
rorolidalgo
-
rorolidalgo -
rorolidalgo -
Bonjour,
J'ai le code suivant sur une feuille d'un tableur:
Private Sub Worksheet_Change()
maMacro
End Sub
En gros, je souhaite que lorsque la valeur d'une cellule (C14) dans ma feuille change, la macro maMacro se lance.
Cette cellule C14 est liée à un classeur externe. Lorsque je modifie le classeur externe, C14 est modifiée mais la Sub Worksheet_Change ne se lance pas. Et quand je la lance manuellement, elle bugge et j'obtiens "Erreur de compilation: 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".
Quelqu'un saurait-il m'aider svp?
J'ai le code suivant sur une feuille d'un tableur:
Private Sub Worksheet_Change()
maMacro
End Sub
En gros, je souhaite que lorsque la valeur d'une cellule (C14) dans ma feuille change, la macro maMacro se lance.
Cette cellule C14 est liée à un classeur externe. Lorsque je modifie le classeur externe, C14 est modifiée mais la Sub Worksheet_Change ne se lance pas. Et quand je la lance manuellement, elle bugge et j'obtiens "Erreur de compilation: 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".
Quelqu'un saurait-il m'aider svp?
A voir également:
- Worksheet_change ne se déclenche pas
- Paiement déclenché leboncoin remise en main propre - Forum Vos droits sur internet
- Mon repondeur free mobile ne se declenche pas - Forum Free mobile
- Mon repondeur ne se declenche plus - Forum iPhone
- Mon répondeur ne se déclenche pas bouygues - Forum telephonie fixe
- Paiement sécurisé Le Bon Coin vos avis ? ✓ - Forum Consommation & Internet
2 réponses
Bonjour,
C'est normal :
quand tu utilises une macro du style Private Sub Worksheet_Change()
si tu appelles une macro, cette dernière ne doit travailler uniquement que sur la feuille en question.
Si la macro que tu appelles fais appel à une autre feuille ou à un autre classeur, ca ne marchera pas.
C'est normal :
quand tu utilises une macro du style Private Sub Worksheet_Change()
si tu appelles une macro, cette dernière ne doit travailler uniquement que sur la feuille en question.
Si la macro que tu appelles fais appel à une autre feuille ou à un autre classeur, ca ne marchera pas.
En fait, en rajoutant
En revanche, elle ne se déclenche pas: lorsque ma cellule change de valeur (car elle est égale à la cellule d'un fichier d'entrée dont je saisis une valeur différente), je pensais que la Sub _Change s'activerait. Est-ce que c'est une autre procéduren ou bien je l'écris mal?
Merci d'avance.
(ByVal Target As Range)après
Change, la Sub ne bugge pas.
En revanche, elle ne se déclenche pas: lorsque ma cellule change de valeur (car elle est égale à la cellule d'un fichier d'entrée dont je saisis une valeur différente), je pensais que la Sub _Change s'activerait. Est-ce que c'est une autre procéduren ou bien je l'écris mal?
Merci d'avance.
re,
si tu ajoutes (byval target as range), il faut que tu précises quand ta maco dois s'papliquer.
Je m'explique si tu veux qu'elle sedéclenche dès modif de B3, il faut écrire :
sub wroksheet_change(ByVal Target As Range)
if target.row = 3 and target.column = 2 then 'autrement dit si on touche à B3
call macro1
end if
end sub
si tu ajoutes (byval target as range), il faut que tu précises quand ta maco dois s'papliquer.
Je m'explique si tu veux qu'elle sedéclenche dès modif de B3, il faut écrire :
sub wroksheet_change(ByVal Target As Range)
if target.row = 3 and target.column = 2 then 'autrement dit si on touche à B3
call macro1
end if
end sub
Merci, mais ça ne fct pas....grrrr :-(
Dans ma feuille, C14=+'[Données Entrée.xlsm]Feuil1'!$A$1
Quand je saisis une nouvelle valeur dans A1 du fichier Données Entrée la cellule est donc modifiée, et devrait lancer la macro, mais non.
En code j'ai mis:
Si j'enlève le If/End if, et que je vais dans la feuille en question, et que je saisis ni'mporte quoi dans n'importe quelle cellule, puis "Entrée", alors le "Change" est capté et la macro se lance.
En résumé, une saisie avec Entrée fct, une modif de valeur due à une liaison ne donne rien.
Une autre idée?
Merci beaucoup
Dans ma feuille, C14=+'[Données Entrée.xlsm]Feuil1'!$A$1
Quand je saisis une nouvelle valeur dans A1 du fichier Données Entrée la cellule est donc modifiée, et devrait lancer la macro, mais non.
En code j'ai mis:
Private Sub Worksheet_Change(ByVal Target As Range)La valeur de ma cible change, mais la macro n'est pas appelée. Pourquoi BdM?????
If Target.Row = 14 And Target.Column = 3 Then
Call Detail_Estimatif
End If
End Sub
Si j'enlève le If/End if, et que je vais dans la feuille en question, et que je saisis ni'mporte quoi dans n'importe quelle cellule, puis "Entrée", alors le "Change" est capté et la macro se lance.
En résumé, une saisie avec Entrée fct, une modif de valeur due à une liaison ne donne rien.
Une autre idée?
Merci beaucoup
Pardon, c'est moi qui avais mal compris et là, je peux pas t'aider.
Peut être qu'effecitvement, les modifications avec liaison ne permettent pas le lancement de la macro. Je ne maîtrise pas les liaisons et vu les problèmes engendrés par elles, j'évite un max.
va falloir que tu attendes d'autres réponses
Peut être qu'effecitvement, les modifications avec liaison ne permettent pas le lancement de la macro. Je ne maîtrise pas les liaisons et vu les problèmes engendrés par elles, j'évite un max.
va falloir que tu attendes d'autres réponses
Merci