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

en V2007, problème de sécurité macro

16 réponses
Avatar
Papyjac
Bonjour,

J'ai une macro (VB136.ppt) PowerPoint qui fonctionne en V2003

Cette macro fonctionne également en mode compatbilité sous V2007, sous
réserve de :
1. cocher "accès approuvé au modèle d'objet du projet VBA"
2. créer un emplacement approuvé contenant le composant

Si j'effectue la conversion de VB136.ppt par enregistrer sous VB136.pptm :
1. je peux exécuter une macro déclenchée par un bouton de commande,
2. je ne paux pas exécuter une macros déclenchée par un bouton de barres
d'outils => j'ai le message "la macro est introuvable ou a été désactivée en
raison de vos paramètres de sécurité"

A noter, que j'ai effectué exactement la même opération sous Excel avec succès

J'ai du sauter un épisode de cette triste histoire du passage en V2007 !

--
Papyjac

6 réponses

1 2
Avatar
Papyjac
Bonjour Geo,

Ah, je suis content que tu reprennes ce fil,

Effectivement, la présentation est ouverte losrqu'on clique sur le Bouton de
la macro de création de la barre d'outils (CommandButton1_Click)
Par contre, je souhaite que cette présentation soit fermée lorsque je clique
sur le bouton de la barres d'outils

Je maintien que cela fonctionne avec VB136.ppt en V2003, ainsi que sous
V2007 en compatibilité 2003. ce qui ne marche pas c'est avec VB136.pptm en
V2007 pure.

J'ai tenté un essai en ppsm sans succès, idem avec .ppam

Mais rassure toi, je n'ai pas tout compris non plus. Peut être que cà
n'aurait pas du marché avant en V2003 !

Pour compléter, ce rappel. C'est effectuer toutes les mêmes opérations, sous
Excel, avec succès. Je vais bientôt m'ataquer à Word, mais je crains le pire
!!

Je ne sais si tu pourras m'aider sous Word

--
Papyjac


"Geo" a écrit :

Bonjour

> En principe, sous V2003, il charge le classeur, puis il exécute la macro,
> puis il se referme naturellement. Il ne reste pas mémoire.
>
> Au lieu de mettre Onaction:="!Test2" je mets Onaction:= ''" &
> Presentations(presentations.count).FullName & "'!Test2"

Il doit me manquer des éléments.
Presentations(presentations.count) correspond à la dernière
présentation ouverte
Ca marche bien si la macro est dans celle-ci.
Mais je ne vois pas comment ce OnAction peut agir sur une présentation
fermée.

> Malheurensement Thispresentation n'existe pas pas plus que
> macrocontainer

???

--
A+





Avatar
Geo
Bonjour

Effectivement, la présentation est ouverte losrqu'on clique sur le Bouton de
la macro de création de la barre d'outils (CommandButton1_Click)
Par contre, je souhaite que cette présentation soit fermée lorsque je clique
sur le bouton de la barres d'outils



OK, j'ai travaillé avec deux présentations différentes pour les deux
macros.
Il faudrait que je recommence exactement comme vous.

Je vais bientôt m'ataquer à Word, mais je crains le pire !!

Je ne sais si tu pourras m'aider sous Word



On essayera.

--
A+
Avatar
Papyjac
Bonjour Geo,

J'ai effectué un test avec les macros complémentaires de PowerPoint, Il y a
du mieux.

Le comportement n'est pas exactement le même qu'en V2003, car il faut
charger le composant VB136.ppam avant d'exécuter les procédures boutons de
la barre d'outils :

En V2003 :
1. On peut exécuter indépendamment le composant VB136.ppt ou VB136.ppa
2. Le composant VB136.ppt se charge et se décharge à chaque fois
3. Le composant VB136.ppa se charge au 1er clic

Sous V2007
1. VB136.ppam doit être chargé préalablement. Il est alors visible dans les
compléments
2. Le composant VB136.pptm ne s'exécute que s'il est ouvert

En conclusion transitoire : Je ne pense pas que le problème autour duquel
nous tournons soit un problème de sécurité
Sous V2003, les trois applications Excel, PowerPoint et Word réagissait
différemment
Sous V2007, c'est également le cas, mais d'une manière différente : en tout
cas, elles ne convergent pas d'un iota.

Au delà de ces déboires persistent de version en version, j'ai testé les 3
types de déclarations procédures

Sub Test()
MsgBox "coucou"
End Sub

Sub Test(Optional X as boolean) 'pour éviter que la procédure soit visible
de l'extérieur
MsgBox "coucou"
End Sub

Private Sub Test()
MsgBox "coucou"
End Sub

Elles fonctionnent toutes sous Excel, mais la 3ème ne marche pas dans
PowerPoint V2007

Ensuite j'ai combiné avec les Onaction suivant :
Onaction:="Test"
Onaction:="!Test" 'ca c'est ton tuyau efficace
Onaction:="!<Test>" 'pourquoi pas, j'ai vu ça dans une veille aide
Onaction:="'" & chemin & "'!Test"

Elles fonctionnent toutes sous Excel sauf !<Test>

Bref, le sujet n'est pas épuisé

"Geo" a écrit dans le message de
news:
Bonjour

Effectivement, la présentation est ouverte losrqu'on clique sur le Bouton
de la macro de création de la barre d'outils (CommandButton1_Click)
Par contre, je souhaite que cette présentation soit fermée lorsque je
clique sur le bouton de la barres d'outils



OK, j'ai travaillé avec deux présentations différentes pour les deux
macros.
Il faudrait que je recommence exactement comme vous.

Je vais bientôt m'ataquer à Word, mais je crains le pire !!

Je ne sais si tu pourras m'aider sous Word



On essayera.

--
A+




Avatar
Geo
Bonjour

[...]

En conclusion transitoire : Je ne pense pas que le problème autour duquel nous tournons
soit un problème de sécurité



Là dessus il n'y a guère de doute, même si le message d'erreur laisse
chaque fois planer le doute.
Perso j'ai mis l'option la plus basse : exécuter toutes les macros.
Je sais que ce n'est pas bien, mais au moins cela nous apporte cette
certitude.

Sous V2003, les trois applications Excel, PowerPoint et Word réagissait différemment
Sous V2007, c'est également le cas, mais d'une manière différente : en tout cas, elles
ne convergent pas d'un iota.



Pfff, c'est vrai que c'est pénible.
Il faut tout vérifier chaque fois qu'on change d'application.

Au delà de ces déboires persistent de version en version, j'ai testé les 3 types de
déclarations procédures



[...]

Private Sub Test()
MsgBox "coucou"
End Sub

Elles fonctionnent toutes sous Excel, mais la 3ème ne marche pas dans PowerPoint V2007



La règle c'est que la macro n'est alors visible que dans le module qui
la contient.
Excel aurait donc tort.

Ensuite j'ai combiné avec les Onaction suivant :
Onaction:="Test"
Onaction:="!Test" 'ca c'est ton tuyau efficace
Onaction:="!<Test>" 'pourquoi pas, j'ai vu ça dans une veille aide
Onaction:="'" & chemin & "'!Test"

Elles fonctionnent toutes sous Excel sauf !<Test>



C'est cette page d'aide qui m'a orienté vers la solution !Test
Les <> étaient indiqués pour appeler un complément, il me semble.

Bref, le sujet n'est pas épuisé



Apparemment !
En tous cas merci de ce partage d'expérience.

--
A+
Avatar
Papyjac
Bonjour Geo,

C'est moi qui te remercie

J'ai effectué les tests sous Word, Je n'ai pas de régression entre V2007 et
V2003. mais comme Word était un peu "tordu", il le reste. Je pencherais même
pour dire que PowerPoint l'a rejoint. Et que effectivement Excel à tord
d'être si permissif. (Attention, ceci n'est pas une suggestion pour Microsoft
!)

Si je me resume : j'ai fait 9 tests pour Excel + 12 tests pour les macro
complémentaires, soit 21 tests. Puis autant sous PowerPoint et autant sous
Word. Je pense être paré pour migrer les outils de V2003 et V2007. Il me
reste le test du lien hypertexte dans un bouton.

Et comme tu le disais au début, les boutons n'existent plus dans la V2007.
Et pourtant c'est bien pratique. Je pense qu'on y reviendras quand cela sera
pssible dans la technique Web

--
Papyjac


"Geo" a écrit :

Bonjour

[...]

> En conclusion transitoire : Je ne pense pas que le problème autour duquel nous tournons
> soit un problème de sécurité

Là dessus il n'y a guère de doute, même si le message d'erreur laisse
chaque fois planer le doute.
Perso j'ai mis l'option la plus basse : exécuter toutes les macros.
Je sais que ce n'est pas bien, mais au moins cela nous apporte cette
certitude.

> Sous V2003, les trois applications Excel, PowerPoint et Word réagissait différemment
> Sous V2007, c'est également le cas, mais d'une manière différente : en tout cas, elles
> ne convergent pas d'un iota.

Pfff, c'est vrai que c'est pénible.
Il faut tout vérifier chaque fois qu'on change d'application.

> Au delà de ces déboires persistent de version en version, j'ai testé les 3 types de
> déclarations procédures

[...]

> Private Sub Test()
> MsgBox "coucou"
> End Sub
>
> Elles fonctionnent toutes sous Excel, mais la 3ème ne marche pas dans PowerPoint V2007

La règle c'est que la macro n'est alors visible que dans le module qui
la contient.
Excel aurait donc tort.

> Ensuite j'ai combiné avec les Onaction suivant :
> Onaction:="Test"
> Onaction:="!Test" 'ca c'est ton tuyau efficace
> Onaction:="!<Test>" 'pourquoi pas, j'ai vu ça dans une veille aide
> Onaction:="'" & chemin & "'!Test"
>
> Elles fonctionnent toutes sous Excel sauf !<Test>

C'est cette page d'aide qui m'a orienté vers la solution !Test
Les <> étaient indiqués pour appeler un complément, il me semble.

> Bref, le sujet n'est pas épuisé

Apparemment !
En tous cas merci de ce partage d'expérience.

--
A+





Avatar
Geo
Bonjour

Et comme tu le disais au début, les boutons n'existent plus dans la V2007.



Une précision si nécessaire : on peut les faire dans le ruban, mais ce
n'est plus à la portée du grand public.
La modification du ruban ouvre pas mal de possibilités puisqu'on peut
utiliser tout ce qui existe en standard dans le ruban : onglets
contextuels, groupes, boutons, cases à cocher, listes déroulantes,
boutons radios, menus etc.

--
A+
1 2