Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro fantôme

7 réponses
Avatar
fredau
Bonjour,
Dans la programmation d'une application, mes macro-commandes se terminent en
protégeant la feuille active (qui est déprotégée au début des macros) et en
revenant à la cellule A1 pour retrouver un tableau de commande (sorte de
sommaire de mon application), or lorsque je me retrouve dans ce tableau de
commande, au lieu d'avoir la cellule A1 active, mon curseur se transforme en
main comme si tout mon tableau de commande était un objet auquel j'aurai
affecté une macro. Lorsque je clique, une de mes macros se lance et ainsi de
suite, ça tourne en boucle; Je ne retrouve ma cellule A1 que lorsque je
déprotège la feuille.
J'ai une petite expérience de la programmation en VBA mais là, je sèche et
ne comprend pas ce qui se passe.
merci de votre aide
fredau

7 réponses

Avatar
Gloops
Salut,

Je crains que sans voir le code, ça ne soit guère fastoche ...

_____________________________________
fredau a écrit, le 11/11/2007 18:09 :
Bonjour,
Dans la programmation d'une application, mes macro-commandes se termine nt en
protégeant la feuille active (qui est déprotégée au début des macros) et en
revenant à la cellule A1 pour retrouver un tableau de commande (so rte de
sommaire de mon application), or lorsque je me retrouve dans ce tableau de
commande, au lieu d'avoir la cellule A1 active, mon curseur se transfor me en
main comme si tout mon tableau de commande était un objet auquel j 'aurai
affecté une macro. Lorsque je clique, une de mes macros se lance e t ainsi de
suite, ça tourne en boucle; Je ne retrouve ma cellule A1 que lorsq ue je
déprotège la feuille.
J'ai une petite expérience de la programmation en VBA mais là , je sèche et
ne comprend pas ce qui se passe.
merci de votre aide
fredau


Avatar
fredau
Bonjour, voici le code d'une macro qui produit l'effet décrit: J'ai mis une '
sur l'avant dernière ligne pour éviter qu'elle ne soit prise en compte mais
je voudrais vraiment que ma feuille soit protégée après cette éxécution car
l'application s'adresse à des collègues qui pourraient bien faire disparaître
accidentellement des formules ou d'autres choses.
PS: cette macro extrait des données d'une base et les copie dans un tableau
(tableauACT1) ; lorsqu'on a lu le tableau on revient &u tableau de bord de
départ en cliquant sur un bouton lançant simplement une macro qui fait
revenit à la cellule A1.

Sub ExtractACT1()
'
' ExtractACT1 Macro
' Macro enregistrée le 10/11/2007 par Robert AUDET
'

'
ActiveSheet.Unprotect
Application.Goto Reference:="Debcritères"
Range("J224").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("K224").Select
ActiveCell.FormulaR1C1 = "*"
Range("K225").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J225").Select
ActiveCell.FormulaR1C1 = "*"
Range("J226").Select
ActiveCell.FormulaR1C1 = "*"
Range("K226").Select
ActiveCell.FormulaR1C1 = "*"
Range("L226").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J227").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J227").Select
Range("Database").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range _
("Criteria"), CopyToRange:=Range("Extract"), Unique:úlse
Application.Goto Reference:="Extrac"
Selection.Copy
Application.Goto Reference:="ACT1repère"
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Interior.ColorIndex = xlNone
Application.Goto Reference:="TableauACT1"
ActiveCell.Select
Application.CutCopyMode = False
' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
--
Programmeur VBA amateur



Bonjour,
Dans la programmation d'une application, mes macro-commandes se terminent en
protégeant la feuille active (qui est déprotégée au début des macros) et en
revenant à la cellule A1 pour retrouver un tableau de commande (sorte de
sommaire de mon application), or lorsque je me retrouve dans ce tableau de
commande, au lieu d'avoir la cellule A1 active, mon curseur se transforme en
main comme si tout mon tableau de commande était un objet auquel j'aurai
affecté une macro. Lorsque je clique, une de mes macros se lance et ainsi de
suite, ça tourne en boucle; Je ne retrouve ma cellule A1 que lorsque je
déprotège la feuille.
J'ai une petite expérience de la programmation en VBA mais là, je sèche et
ne comprend pas ce qui se passe.
merci de votre aide
fredau


Avatar
fredau
Youpi !! J'ai résolu mon Pb: Comme mes fins de macro se comportaient comme si
mes pages étaient des objets auxquels était affecté une macro, j'ai mis la
valeur ":úlse" à DrawingObjects.
Cela résout mon Pb en me permettant d'avoir mes cellules protégées mais
j'ignore toujours pourquoi il semble qu'un objet (invisible) soit au-dessus
de mes pages et lance une macro.
Merci quand même à ceux qui ont essayé de se pencher sur mon Pb

--
Programmeur VBA amateur



Bonjour, voici le code d'une macro qui produit l'effet décrit: J'ai mis une '
sur l'avant dernière ligne pour éviter qu'elle ne soit prise en compte mais
je voudrais vraiment que ma feuille soit protégée après cette éxécution car
l'application s'adresse à des collègues qui pourraient bien faire disparaître
accidentellement des formules ou d'autres choses.
PS: cette macro extrait des données d'une base et les copie dans un tableau
(tableauACT1) ; lorsqu'on a lu le tableau on revient &u tableau de bord de
départ en cliquant sur un bouton lançant simplement une macro qui fait
revenit à la cellule A1.

Sub ExtractACT1()
'
' ExtractACT1 Macro
' Macro enregistrée le 10/11/2007 par Robert AUDET
'

'
ActiveSheet.Unprotect
Application.Goto Reference:="Debcritères"
Range("J224").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("K224").Select
ActiveCell.FormulaR1C1 = "*"
Range("K225").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J225").Select
ActiveCell.FormulaR1C1 = "*"
Range("J226").Select
ActiveCell.FormulaR1C1 = "*"
Range("K226").Select
ActiveCell.FormulaR1C1 = "*"
Range("L226").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J227").Select
ActiveCell.FormulaR1C1 = "¬T1"
Range("J227").Select
Range("Database").AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Range _
("Criteria"), CopyToRange:=Range("Extract"), Unique:úlse
Application.Goto Reference:="Extrac"
Selection.Copy
Application.Goto Reference:="ACT1repère"
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.Interior.ColorIndex = xlNone
Application.Goto Reference:="TableauACT1"
ActiveCell.Select
Application.CutCopyMode = False
' ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
--
Programmeur VBA amateur



Bonjour,
Dans la programmation d'une application, mes macro-commandes se terminent en
protégeant la feuille active (qui est déprotégée au début des macros) et en
revenant à la cellule A1 pour retrouver un tableau de commande (sorte de
sommaire de mon application), or lorsque je me retrouve dans ce tableau de
commande, au lieu d'avoir la cellule A1 active, mon curseur se transforme en
main comme si tout mon tableau de commande était un objet auquel j'aurai
affecté une macro. Lorsque je clique, une de mes macros se lance et ainsi de
suite, ça tourne en boucle; Je ne retrouve ma cellule A1 que lorsque je
déprotège la feuille.
J'ai une petite expérience de la programmation en VBA mais là, je sèche et
ne comprend pas ce qui se passe.
merci de votre aide
fredau




Avatar
Gloops
fredau a écrit, le 12/11/2007 20:07 :
Youpi !! J'ai résolu mon Pb: Comme mes fins de macro se comportaie nt comme si
mes pages étaient des objets auxquels était affecté une macro, j'ai mis la
valeur ":úlse" à DrawingObjects.
Cela résout mon Pb en me permettant d'avoir mes cellules proté gées mais
j'ignore toujours pourquoi il semble qu'un objet (invisible) soit au-de ssus
de mes pages et lance une macro.
Merci quand même à ceux qui ont essayé de se pencher sur mon Pb



Salut,

Eh bien, je ne comprends rien à chaud, mais je suis bien content que ton
problème soit résolu.

Peut-être bien que bientôt j'essaierai de comprendre plus, on v erra bien
si j'y arriverai.
Tu n'as pas précisé la version d'Excel, j'avoue qu'à ce st ade je ne me
représente pas du tout si ça aide à comprendre.

Avatar
fredau
Bonjour Gloops,
Merci de continuer à te pencher sur mon Pb qui est résolu à moitié (car j'ai
la chance de ne pas avoir d'objets à protéger dans cette applic). Je rappelle
donc le Pb:
Après exécution des macros qui protègent ma feuille et retour en A1, mon
curseur n'est pas une croix comme il devrait l'être mais une main, comme
lorsqu'on passe au-dessus d'un bouton déclenchant une macro.
Sais-tu s'il est possible de connaître dans une feuille les objets créés car
j'ai l'impression que mon applic se comporte comme si sur cette première page
il y avait un objet (ou autre chose) auquel aurait été accidentellemnt
affecté une macro.
Je ne peux pas t'envoyer mon applic qui est trop "grosse"; je ne peux pas
non plus illustrer avec un exemple puisque ce qui m'arrive est complètement
fortuit.
Ne te prends quand même pas trop la tête avec ce Pb, si par hasard, j'en
découvrais l'origine du Pb, je ne manquerais pas de t'en faire part ainsi
qu'à la communauté.
Merci encore et bon Dimanche
--
Programmeur VBA amateur



fredau a écrit, le 12/11/2007 20:07 :
Youpi !! J'ai résolu mon Pb: Comme mes fins de macro se comportaient comme si
mes pages étaient des objets auxquels était affecté une macro, j'ai mis la
valeur ":úlse" à DrawingObjects.
Cela résout mon Pb en me permettant d'avoir mes cellules protégées mais
j'ignore toujours pourquoi il semble qu'un objet (invisible) soit au-dessus
de mes pages et lance une macro.
Merci quand même à ceux qui ont essayé de se pencher sur mon Pb



Salut,

Eh bien, je ne comprends rien à chaud, mais je suis bien content que ton
problème soit résolu.

Peut-être bien que bientôt j'essaierai de comprendre plus, on verra bien
si j'y arriverai.
Tu n'as pas précisé la version d'Excel, j'avoue qu'à ce stade je ne me
représente pas du tout si ça aide à comprendre.





Avatar
fredau
Bonjour,
réparation d'oubli de réponse:
J'utilise (Encore???) Excel 2000
--
Programmeur VBA amateur



Bonjour Gloops,
Merci de continuer à te pencher sur mon Pb qui est résolu à moitié (car j'ai
la chance de ne pas avoir d'objets à protéger dans cette applic). Je rappelle
donc le Pb:
Après exécution des macros qui protègent ma feuille et retour en A1, mon
curseur n'est pas une croix comme il devrait l'être mais une main, comme
lorsqu'on passe au-dessus d'un bouton déclenchant une macro.
Sais-tu s'il est possible de connaître dans une feuille les objets créés car
j'ai l'impression que mon applic se comporte comme si sur cette première page
il y avait un objet (ou autre chose) auquel aurait été accidentellemnt
affecté une macro.
Je ne peux pas t'envoyer mon applic qui est trop "grosse"; je ne peux pas
non plus illustrer avec un exemple puisque ce qui m'arrive est complètement
fortuit.
Ne te prends quand même pas trop la tête avec ce Pb, si par hasard, j'en
découvrais l'origine du Pb, je ne manquerais pas de t'en faire part ainsi
qu'à la communauté.
Merci encore et bon Dimanche
--
Programmeur VBA amateur



fredau a écrit, le 12/11/2007 20:07 :
Youpi !! J'ai résolu mon Pb: Comme mes fins de macro se comportaient comme si
mes pages étaient des objets auxquels était affecté une macro, j'ai mis la
valeur ":úlse" à DrawingObjects.
Cela résout mon Pb en me permettant d'avoir mes cellules protégées mais
j'ignore toujours pourquoi il semble qu'un objet (invisible) soit au-dessus
de mes pages et lance une macro.
Merci quand même à ceux qui ont essayé de se pencher sur mon Pb



Salut,

Eh bien, je ne comprends rien à chaud, mais je suis bien content que ton
problème soit résolu.

Peut-être bien que bientôt j'essaierai de comprendre plus, on verra bien
si j'y arriverai.
Tu n'as pas précisé la version d'Excel, j'avoue qu'à ce stade je ne me
représente pas du tout si ça aide à comprendre.







Avatar
Gloops
fredau a écrit, le 18/11/2007 11:40 :
Après exécution des macros qui protègent ma feuille et r etour en A1, mon
curseur n'est pas une croix comme il devrait l'être mais une main, comme
lorsqu'on passe au-dessus d'un bouton déclenchant une macro.
Sais-tu s'il est possible de connaître dans une feuille les objets créés car
j'ai l'impression que mon applic se comporte comme si sur cette premià ¨re page
il y avait un objet (ou autre chose) auquel aurait été accide ntellemnt
affecté une macro.



En regardant dans l'explorateur d'objets, sous Worksheet, il y a trois
entrées qui me paraissent mériter un peu d'attention :
- ChartObjects
- OLEObjects
- Shapes

et peut-être d'autres, je suis allé un peu vite.
Dans la fenêtre d'exécution on peut se rappeler qu'ils ont une propriété
Count.

Dans l'interface utilisateur standard, j'saipô ...