Forcer "enable macros" lors du l'ouverture d'une application

Le
Denys
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
PolareBear
Le #21512812
Bonjour,

A ma connaissance,ça n'est pas possible.

J'ai contourné le PB par le biais d'une astuce :

Tu ajoute une feuille supplémentaire à ton classeur (on va la nommer
"noMacro") qui comporte un gros message genre "activer les macros pour
pouvoir utiliser ce classeur"

Tu crée une macro qui s'active à la fermeture et qui masque toutes les
feuilles sauf noMacro

Tu crée une macro qui s'active à l'ouverture qui masque noMacro et
affiche toutes les autres feuilles.

par ex. (à inclure dans ThisWorkBook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("noMacro").Visible = xlSheetVisible

For Each sh In Sheets
If sh.Name <> "noMacro" Then sh.Visible = xlSheetVeryHidden
Next sh

ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
sh.Visible = xlSheetVisible
Next sh

Sheets("noMacro").Visible = xlSheetVeryHidden
End Sub


Bonne continuation

Rai


Denys a écrit :
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys
Daniel.C
Le #21512802
Bonjour.
L'assurance est toute relative, l'utilisateur pouvant afficher les
feuilles à partir d'une macro située dans un autre classeur.
Cordialement.
Daniel

Bonjour,

A ma connaissance,ça n'est pas possible.

J'ai contourné le PB par le biais d'une astuce :

Tu ajoute une feuille supplémentaire à ton classeur (on va la nommer
"noMacro") qui comporte un gros message genre "activer les macros pour
pouvoir utiliser ce classeur"

Tu crée une macro qui s'active à la fermeture et qui masque toutes les
feuilles sauf noMacro

Tu crée une macro qui s'active à l'ouverture qui masque noMacro et affiche
toutes les autres feuilles.

par ex. (à inclure dans ThisWorkBook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("noMacro").Visible = xlSheetVisible

For Each sh In Sheets
If sh.Name <> "noMacro" Then sh.Visible = xlSheetVeryHidden
Next sh

ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
sh.Visible = xlSheetVisible
Next sh

Sheets("noMacro").Visible = xlSheetVeryHidden
End Sub


Bonne continuation

Rai


Denys a écrit :
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys
michdenis
Le #21512912
Bonjour,

Tu peux lire ceci à cette adresse :
http://support.microsoft.com/kb/217221/fr

Si tu es sur office 2007, il est possible d'ajouter un répertoire
qu'Excel appelle un "trusted location"

Un peu de lecture dans l'aide d'Excel :
Create, remove, or change a trusted location for your files





"Denys"
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys
PolareBear
Le #21512892
Bonjour Daniel,

Nous sommes d'accord.
Il y a même plus simple : ALT-F11 et un petit tour dans les propriétés
des feuilles pour passer la propriété 'visible' en xlsheetvisible.

Mais bon, il faut regarder à quoi est destiné ce 'forcage' de
l'utilisation des macros.
Pour ma part c'est une astuce pour que les utilisateurs se trouvent face
à un classeur qui fonctionne.
Sinon, côté sécurité il y a TOUJOURS moyen d'activer/désactiver les
macros, même les macros protégées par un mot de passe.
En général il s'agit d'aider l'utilisateur lambda (sans connaissances
avancées XL ou VBA).

D'ailleurs, je ne pense pas que quiconque donnerait sur un forum le
moyen de faire s'exécuter une macro VBA de manière auto et sans
possibilité d'intervention de l'utilisateur. Non ?

Il ne s'agit pas de faire s'exécuter les macros à l'insu de
l'utilisateur, mais juste de faire en sorte que les différentes
fonctionnalités du classeur soient bien actives.

Cordialement

Rai


Daniel.C a écrit :
Bonjour.
L'assurance est toute relative, l'utilisateur pouvant afficher les
feuilles à partir d'une macro située dans un autre classeur.
Cordialement.
Daniel

Bonjour,

A ma connaissance,ça n'est pas possible.

J'ai contourné le PB par le biais d'une astuce :

Tu ajoute une feuille supplémentaire à ton classeur (on va la nommer
"noMacro") qui comporte un gros message genre "activer les macros pour
pouvoir utiliser ce classeur"

Tu crée une macro qui s'active à la fermeture et qui masque toutes les
feuilles sauf noMacro

Tu crée une macro qui s'active à l'ouverture qui masque noMacro et
affiche toutes les autres feuilles.

par ex. (à inclure dans ThisWorkBook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("noMacro").Visible = xlSheetVisible

For Each sh In Sheets
If sh.Name <> "noMacro" Then sh.Visible = xlSheetVeryHidden
Next sh

ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
sh.Visible = xlSheetVisible
Next sh

Sheets("noMacro").Visible = xlSheetVeryHidden
End Sub


Bonne continuation

Rai


Denys a écrit :
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys






Daniel.C
Le #21512952
Ca dépend du projet. On a déjà vu ici des projets avec mots de passe
nominatifs... Il vaut mieux prévenir de la faiblesse relative de la
sécurité liée aux macros, même si, effectivement, le cas le plus
probable est de pallier une mauvaise manip de l'utilisateur.
Daniel

Bonjour Daniel,

Nous sommes d'accord.
Il y a même plus simple : ALT-F11 et un petit tour dans les propriétés des
feuilles pour passer la propriété 'visible' en xlsheetvisible.

Mais bon, il faut regarder à quoi est destiné ce 'forcage' de l'utilisation
des macros.
Pour ma part c'est une astuce pour que les utilisateurs se trouvent face à
un classeur qui fonctionne.
Sinon, côté sécurité il y a TOUJOURS moyen d'activer/désactiver les macros,
même les macros protégées par un mot de passe.
En général il s'agit d'aider l'utilisateur lambda (sans connaissances
avancées XL ou VBA).

D'ailleurs, je ne pense pas que quiconque donnerait sur un forum le moyen de
faire s'exécuter une macro VBA de manière auto et sans possibilité
d'intervention de l'utilisateur. Non ?

Il ne s'agit pas de faire s'exécuter les macros à l'insu de l'utilisateur,
mais juste de faire en sorte que les différentes fonctionnalités du classeur
soient bien actives.

Cordialement

Rai


Daniel.C a écrit :
Bonjour.
L'assurance est toute relative, l'utilisateur pouvant afficher les feuilles
à partir d'une macro située dans un autre classeur.
Cordialement.
Daniel

Bonjour,

A ma connaissance,ça n'est pas possible.

J'ai contourné le PB par le biais d'une astuce :

Tu ajoute une feuille supplémentaire à ton classeur (on va la nommer
"noMacro") qui comporte un gros message genre "activer les macros pour
pouvoir utiliser ce classeur"

Tu crée une macro qui s'active à la fermeture et qui masque toutes les
feuilles sauf noMacro

Tu crée une macro qui s'active à l'ouverture qui masque noMacro et affiche
toutes les autres feuilles.

par ex. (à inclure dans ThisWorkBook)
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("noMacro").Visible = xlSheetVisible

For Each sh In Sheets
If sh.Name <> "noMacro" Then sh.Visible = xlSheetVeryHidden
Next sh

ActiveWorkbook.Save
End Sub

Private Sub Workbook_Open()
For Each sh In Sheets
sh.Visible = xlSheetVisible
Next sh

Sheets("noMacro").Visible = xlSheetVeryHidden
End Sub


Bonne continuation

Rai


Denys a écrit :
Bonjour à tous,

Est-il possible de forcer le "enable macros" lors de l'ouverture d'un
fichier excel et ce, peu importe le degré de sécurité choisi par
l'usager ?

En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alors
forcément les macros seront actives.

Merci

Denys






LSteph
Le #21513522
Bonjour,

[Avec mention soulignée Avis perso ]
1- préalable au sujet:
2- Pour revenir au sujet,

1-préalable au sujet:
..
¨Ce que je trouve très désagréable dans les version >2K
tels qu'elles se trouvent désormais installées par défaut "la plupart
du temps",
c'est au contraire pout l'utilisateur non avisé l'inopérabilité des
macros
et le fait que celles utilisées auparavant tout à coup ne
fonctionnent plus.
Car par défaut le plus généralement le paramétrage de sécurité est sur
élevé.

C'est tout à fait détestable déjà sur ce point car avant l'utilisat eur
avait le choix en ouvrant
un fichier d'activer ou non. Là ce n'est même pas proposé, les macros
sont désactivées.

Moralité on est obligé à chaque nouveau poste d'y songer et d'aller
abaisser minimalement le niveau de sécurité sur moyen pour que ce
choix que je trouve très judicieux et légitime soit à nouveau donné .

Là où cela devient encore plus désagréable c'est pour celui qui
développe ou surtout a développé et outre s'entendre dire que ses
"trucs" ne fonctionnent plus, mais surtout se dit s, "si je veux
assurer la portabilité de mon dévellopement comment m'assurer que
l'utilisateur (potentiellement éloigné) aura songé à faire le bon
réglage.

C'est donc amha pas très futé et très regrettable de voir qu'un
produit soit par défaut escamotté de ses facultés les plus
puissantes.

2 - Pour revenir au sujet,

l'astuce suggérée par Polarebear est analogue à celle proposée dep uis
longtemps sur ce forum ou excelabo.
A ce détail que la dite feuille nomacro pourrait aussi s'appeler
"avertissement",
on peut lui trouver des limites certes mais cela a au moins le mérite
(sauf dans le cas précité en 1) d'annoncer la couleur
à l'utilisateur qui sait désormais la condition fixée pour utiliser l e
classeur de manière fonctionnelle.

C'est jusqu'à ce que quelqu'un trouve mieux le meilleur compromis dont
j'aie connaissance.

(je laisse de coté les certificats qui ne marchent que pour soi ou
pour ce que l'on a payé aupres d'un certificateur)


Sinon je trouve qu'à l'autre extrême et si tant est que l'on puisse
trouver une astuce pour ce faire
il serait tout aussi malvenu de priver l'utilisateur d'un minimum de
sécurité.
Forcer le "enable macros" lors de l'ouverture d'un fichier excel et ce, p eu importe le degré de sécurité choisi par


l'usager me semble donc tout à fait à éviter.

(du moins en dehors d'un "trust location" tu disais MD . Ce que je
n'ai pas encore eu l'occasion d'experimenter).

Cordialement.

--
LSteph




On 7 avr, 15:19, Daniel.C
Ca dépend du projet. On a déjà vu ici des projets avec mots de pass e
nominatifs... Il vaut mieux prévenir de la faiblesse relative de la
sécurité liée aux macros, même si, effectivement, le cas le plus
probable est de pallier une mauvaise manip de l'utilisateur.
Daniel



> Bonjour Daniel,

> Nous sommes d'accord.
> Il y a même plus simple : ALT-F11 et un petit tour dans les proprié tés des
> feuilles pour passer la propriété 'visible' en xlsheetvisible.

> Mais bon, il faut regarder à quoi est destiné ce 'forcage' de l'uti lisation
> des macros.
> Pour ma part c'est une astuce pour que les utilisateurs se trouvent fac e   à
> un classeur qui fonctionne.
> Sinon, côté sécurité il y a TOUJOURS moyen d'activer/désactiv er les macros,
> même les macros protégées par un mot de passe.
> En général il s'agit d'aider l'utilisateur lambda (sans connaissanc es
> avancées XL ou VBA).

> D'ailleurs, je ne pense pas que quiconque donnerait sur un forum le moy en de
> faire s'exécuter une macro VBA de manière auto et sans possibilit é
> d'intervention de l'utilisateur. Non ?

> Il ne s'agit pas de faire s'exécuter les macros à l'insu de l'utili sateur,
> mais juste de faire en sorte que les différentes fonctionnalités du classeur
> soient bien actives.

> Cordialement

> Rai

> Daniel.C a écrit :
>> Bonjour.
>> L'assurance est toute relative, l'utilisateur pouvant afficher les feu illes
>> à partir d'une macro située dans un autre classeur.
>> Cordialement.
>> Daniel

>>> Bonjour,

>>> A ma connaissance,ça n'est pas possible.

>>> J'ai contourné le PB par le biais d'une astuce :

>>> Tu ajoute une feuille supplémentaire à ton classeur (on va la nom mer
>>> "noMacro") qui comporte un gros message genre "activer les macros pou r
>>> pouvoir utiliser ce classeur"

>>> Tu crée une macro qui s'active à la fermeture et qui masque toute s les
>>> feuilles sauf noMacro

>>> Tu crée une macro qui s'active à l'ouverture qui masque noMacro e t affiche
>>> toutes les autres feuilles.

>>> par ex. (à inclure dans ThisWorkBook)
>>> Private Sub Workbook_BeforeClose(Cancel As Boolean)

>>>      Sheets("noMacro").Visible = xlSheetVisible

>>>      For Each sh In Sheets
>>>          If sh.Name <> "noMacro" Then sh.Visible = xlShee tVeryHidden
>>>      Next sh

>>>      ActiveWorkbook.Save
>>> End Sub

>>> Private Sub Workbook_Open()
>>>      For Each sh In Sheets
>>>          sh.Visible = xlSheetVisible
>>>      Next sh

>>>      Sheets("noMacro").Visible = xlSheetVeryHidden
>>> End Sub

>>> Bonne continuation

>>> Rai

>>> Denys a écrit :
>>>> Bonjour à tous,

>>>> Est-il possible de forcer le "enable macros" lors de l'ouverture d'u n
>>>> fichier excel et ce, peu importe le degré de sécurité choisi p ar
>>>> l'usager ?

>>>> En fait ce que je voudrais c'est que si tu choisis de l'ouvrir, alor s
>>>> forcément les macros seront actives.

>>>> Merci

>>>> Denys- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Denys
Le #21515122
Bonjour à tous,

Merci beaucoup pour ces réponses très instructives.

Denis, j'avais exploré l'avenue de l'auto certification, mais ce ne me
convenait pas. En fait, je voulais créer une application qui pouvait
potentiellement être envoyée à n'importe quelle de nos quelques 1500
succursales. Comme cette application contiendrait des macros, je ne
voulais absolument pas faire du support excel à l'employé qui a la
sécurité excel fixée à maximum, ou encore qui cliquerait sur
"Désactiver les macros".

Multipliez les quelques 1500 succursales par une moyenne de 7 employés
par succursale qui pourraient éventuellement utiliser l'application,
et vous comprendrez mes craintes......L'idée de sauver du temps ne
tiendrait plus....

Comme ce projet n'était qu'au stade de l'ébauche, je crois que je vais
m'organiser pour le tuer dans l'oeuf....Une application Web serait
probablement plus appropriée...

Merci, vous m'avez beaucoup aidé....

Denys
JC Duce
Le #21517612
Bonjour,

En effet, dans ce contexte, une petite appli web, voire VB ou Windev
client/serveur léger serait peut-être plus appropriée.

Bon courage !
:)

"Denys" wrote:

Bonjour à tous,

Merci beaucoup pour ces réponses très instructives.

Denis, j'avais exploré l'avenue de l'auto certification, mais ce ne me
convenait pas. En fait, je voulais créer une application qui pouvait
potentiellement être envoyée à n'importe quelle de nos quelques 1500
succursales. Comme cette application contiendrait des macros, je ne
voulais absolument pas faire du support excel à l'employé qui a la
sécurité excel fixée à maximum, ou encore qui cliquerait sur
"Désactiver les macros".

Multipliez les quelques 1500 succursales par une moyenne de 7 employés
par succursale qui pourraient éventuellement utiliser l'application,
et vous comprendrez mes craintes......L'idée de sauver du temps ne
tiendrait plus....

Comme ce projet n'était qu'au stade de l'ébauche, je crois que je vais
m'organiser pour le tuer dans l'oeuf....Une application Web serait
probablement plus appropriée...

Merci, vous m'avez beaucoup aidé....

Denys
.

Publicité
Poster une réponse
Anonyme