Message d'alerte

Résolu/Fermé
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 - 4 févr. 2016 à 13:59
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 - 26 mai 2016 à 20:54
Bonjour,

Serait-il possible de créer un message d'alerte à l'ouverture d'un fichier Excel sans passer par la vba.
Je m'explique, sur office Excel 2007 ou 2010 le message Avertissement de sécurité "les macros ont été désactivées" n'est pas toujours visible aux yeux, au premier regard des personnes n'ayant pas l'habitude de travailler sur ce logiciel, ce qui crée souvent des problèmes quand des macros sont présentent, mais pas activé. donc je souhaiterais mettre un message d'alerte bien visible sur l'écran qu'il faut activer les macros pour que le fichier fonctionne correctement es-ce possible?

Merci de votre réponse

Slts

7 réponses

The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174
6 févr. 2016 à 17:57
Bonjour Le Pivert

Tout à fait d'accord avec toi, je ne veux pas réinventer la roue, mais tout simplement sur Excel 2003 le message d'alerte security warning activer les macros flash au yeux au lancement du fichier et le fichier lui-même ne sera pas ouvert sans avoir précédemment appuyé sur activer ou déactiver les macros, tandis que sur office 2010 le fichier s'ouvre directement et le message d'alerte Avertissement sécurité est fondu dans le ruban d'office donc plus difficile à l'apercevoir.

Cordialement

Henri
1
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
6 févr. 2016 à 18:18
Je comprends ton problème, voici donc un code a mettre dans ThisWorkbook. Il affichera la feuille où se trouve le message d'activer les macros si les macros sont déactivées. Sinon il affiche les autres feuilles

Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Sheets("Feuil1").Visible = xlSheetVisible 'adapter le nom de la feuille qui contient le message
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
    If curSheet.Name <> "Feuil1" Then curSheet.Visible = xlSheetVeryHidden
Next curSheet
ThisWorkbook.Save
End Sub
Private Sub Workbook_Open()
Dim curSheet As Worksheet
For Each curSheet In ThisWorkbook.Sheets
    If curSheet.Name <> "Feuil1" Then curSheet.Visible = xlSheetVisible
Next curSheet
ThisWorkbook.Sheets("Feuil1").Visible = xlSheetVeryHidden
End Sub

1
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174
6 févr. 2016 à 19:47
Bonsoir Le Pivert

Comme d'habitude je suis bluffé par ton savoir, et je te remercie infiniment pour ton code qui fonctionne très bien, et même au de là de mes espérances.

Merci beaucoup et à charge de revanche

PS Je rigole quand je parle de charge de revanche, puisque mon savoir n'arrive même pas à tes chevilles.

Bon dimanche

Henri
0
tom > The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024
25 mai 2016 à 15:48
Bonjour,

Ce poste m'a beaucoup aidé, mais lorsque la macro se lance la macro j'obtiens:
"Erreur d'exécution '1004':
Impossible de définir la propriété Visible de la classe Worksheet
Quand je regarde le débogage, cela viendrais de cette ligne:

ThisWorkbook.Sheets("Base de données").Visible = xlSheetVeryHidden

merci de votre aide
0
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174 > tom
26 mai 2016 à 20:54
Bonjour tom

Pas de souci chez moi, peux-tu mettre ton fichier sur Cjoint en version alléger sans truc confidentielle pour voir éventuellement ton problème et peut-être y remédier.

Slts
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
4 févr. 2016 à 15:25
Bonjour,

Et le message fait avec du code qui ne pourra pas s'executer car macros desactivees!!!!! Est-ce bien reflechi ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
4 févr. 2016 à 17:23
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174
4 févr. 2016 à 20:34
Bonsoir Le Pivert

Merci pour ta proposition, mais je ne pense pas la mettre en oeuvre, puisque personne ne prendra le l’initiative de cliquer sur ce lien, alors du coup je laisserais comme c'est actuellement, et tant pis pour les ceux qui n'aurons pas activé les macros ou alors je vais bucher pour trouver une autre parade.

Merci

Bonne soirée

Henri
0
Raymond PENTIER Messages postés 58395 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 25 avril 2024 17 095
4 févr. 2016 à 21:40
Salut, The_Boss_68.

Ma philosophie personnelle est d'aller toujours au plus simple.
De plus, pour ne pas répondre à côté, j'aime bien faire préciser le problème, et si possible son contexte.

"pas toujours visible aux yeux, au premier regard des personnes n'ayant pas l'habitude de travailler sur ce logiciel" sous-entend que tu travailles avec des personnes âgées ? des mal-voyants ? des gens distraits ou pressés ?
D'autre part les fichiers Excel en question ne sont pas de ta fabrication ?
Tu ne peux pas les modifier ?

Parce que les parades sont multiples, suivant ton organisation :
- Travailler avec un zoom/écran >100%
- Placer une feuille d'accueil dans chaque fichier avec la mention "Activer la macro"
- Prévoir une affichette pour chaque accès à l'ordinateur ou chaque remise de clé USB, rappelant la nécessité d'activer les macros
- Au début de la session, rappeler verbalement les consignes
- ...
0
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174
4 févr. 2016 à 22:08
Bonsoir Raymond PENTIER

Sympa ta philosophie, du coup je vais aller au plus simple et apposer tout simplement une affichette rappelant la nécessité d'activer les macros à l'ouverture du fichier.

Merci

Bonne soirée

Slts
0
The_boss_68 Messages postés 925 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 23 avril 2024 174
6 févr. 2016 à 13:36
Bonjour,

En fait j'ai trouvé un petit code vba qui normalement doit inciter la personne qui ouvre ce fichier, d'activer les Macros puisque tous les Onglets sont cachés mis à part celui avec le message (onglet Début).
Le hic c'est quand j'ouvre le fichier la première fois avec office 2010 ça marche, j'active alors les macros, et lorsque je referme le fichier, et que je rouvre le fichier il ne s'ouvre plus sur (l'onglet Début) mais les onglets qui étaient cachés auparavant.
Le problème vient-il du code? si quelqu'un peut m'aider

Merci

Private Sub Workbook_Open()
Sheets("1").Visible = -1
Sheets("2").Visible = -1
Sheets("3").Visible = -1
Sheets("4").Visible = -1
Sheets("5").Visible = -1
Sheets("Début").Visible = 2
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Début").Visible = -1
Sheets("1").Visible = 2
Sheets("2").Visible = 2
Sheets("3").Visible = 2
Sheets("4").Visible = 2
Sheets("5").Visible = 2
End Sub

Voir Fichier
http://www.cjoint.com/c/FBgmzHyADfs

Slts
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
6 févr. 2016 à 14:15
Je ne comprends pas cette démarche après ta demande:

Serait-il possible de créer un message d'alerte à l'ouverture d'un fichier Excel sans passer par la vba.

Je crois que tu veux réinventer la roue. Excel a tout prévu, si les macros ne sont pas activées, un message s'affiche que personne ne peux ignorer!

C'est pour cela que je t'ai conseillé ce lien Web qui sera beaucoup plus utile aux néophytes pour activer les macros!

Bon courage

@+ Le Pivert
0