Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Function IsExcel2000 () pour 2003

  • Initiateur de la discussion Initiateur de la discussion popof
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

popof

XLDnaute Occasionnel
Bonjour à toutes et à tous
Bonjour à toi forum 🙂

Donc voilà comme l'indique le sujet je suis à la recheche de l'équivalence de cette fonction pour office11 soit excel 2003.

Je ne c même pas si il en existe une mais je suppose

D'avance merci

Popof :whistle:
 
Re le forum

cette fonction permets (sous script) d'aller lire dans la base de registre d'EXcel 2000 et je cherche celle permettant de lire sous 2003 mais après divers test ça fonctionne pas :angry:


voili voilou
 
re ( encore )

voici le code

'Excel doit être fermé
On Error Resume Next
Set objXl=GetObject(,'Excel.Application')
If Not IsEmpty(objXl) Then
Msgbox 'Excel doit être fermé pour exécuter ce script...'
WScript.Quit
End If

Err.Clear

'objet script et chemin de la clé du registre pour Excel 2000
Set wsh = WScript.CreateObject('WScript.Shell')
Cle2000 = 'HKCU\\Software\\Microsoft\\Office\\9.0\\Excel\\Security\\Level'

If Not IsExcel2000 Then
MsgBox 'Ce script ne peut désactiver l'alerte macro que pour Excel 2000...'
WScript.Quit
End If

Dim NiveauSecurite, wsh

'niveau de sécurité en début d'exécution
NiveauSecurite = wsh.RegRead(Cle2000)

'changement pour le niveau le plus faible
wsh.RegWrite Cle2000, 1,'REG_DWORD'

'ouverture du classeur sans alerte macro
Retour=wsh.Run('D:\\6OfficeVBA\\ClasseurTestSecurite.xls', 3, False)


'rétablissement du niveau de sécurité de départ
wsh.RegWrite Cle2000, NiveauSecurite,'REG_DWORD'

'pour vérifier si la clé pour Excel 2000 existe bien
Function IsExcel2000()
On Error Resume Next

Res=wsh.RegRead(Cle2000)
IsExcel2000=(Err=0)
End Function

voici le lien

Ce lien n'existe plus

voici ma tete aprés avoir vu le lien B)
voici ma tête après avoir vu le script :sick:

ma tête maintenant 😱
 
Re le fil , jmps, creepy

Bon, nickel ça fait comme je le pensais, rien à dire
ça pour pas marcher ça marche pas 😛

Bon j'abandonne, d'autres soucis sur mon fichier à résoudre (Cf post 'Suppression Copie bye popof')

Sinon pour mon pc ça va pis les tites flammes dedans ça fait joli :silly:
 
tiens, comme je vois que tu as ouvert un nouveau fil pour ton problème de déploiement de ton programme, je te mets une démo ici, mais ce n'est pas bien de multiplier les fils pour une même question !

En préambule, comme le souligne jmps, je te donne la solution pour mettre la machine à son niveau de sécurité le plus bas, quelle que soit la version utilisée, mais je te signale que personnellement je désapprouve cette façon de procéder.
Imagine que ton script plante pour une raison ou pour une autre et le user se retrouvera durablement avec un niveau de sécurité bas ce qui, dans un environnement pro, n'est peut-être pas la meilleure solution.

En fait, plutôt que de mettre tout en sécurité 1, tu peux à la rigueur envisager de mettre ton fichier en sécurité 2 (niveau moyen) puis, dans ton fichier, prévoir une page d'accueil qui ne s'afficherait que si les macros sont désactivées, en signalant alors que pour que le programme fonctionne normalement, il faut activer les macros (mais alors ce sera un acte volontaire de l'opérateur). Si les macros sont activées, tu places une macro événementielle qui masque cette page de mise en garde et donne l'accès aux autres feuilles et le tour est joué.

J'ai oublié de préciser que dans le fichier joint, tu dois modifier la variable Chemin pour qu'elle corresponde à l'emplacement réel de ton fichier bien sûr

[file name=SecuriteBasse.zip size=724]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SecuriteBasse.zip[/file]

Message édité par: Ti_, à: 21/06/2005 15:22
 

Pièces jointes

re ici

Merci _Ti et désolé encore pour la double fil 😱

je pense que tu as raison sur le principe qu'il ne faut pas laissé la sécurité macro à son niveau le plus faible cependant je n'ais pas vraiment le choix, une solution s'offre à moi grace à ton script ( qui lui fonctionne nickel) j'en décris la procédure:

Ouverture du fichier XLS via le VBS ( XLS en caché)
Donc activation de toutes les macros
Et pour ne pas laissé les z'utilisateurs en mini, peut on faire une macro qui à la fermeture repasse la securité en niveau 3 ??

Sinon ta 2ème solution est elle aussi intéressante mais encore une fois je suis limité par mes connaissances mais bon je vais essayer ce genre de chose:

Si ouverture sans macros alors
sheets 'feuil de mise en garde' et 'masquage de toute les autres
sinon procédure normale

merci encore
 
as-tu bien regardé le script joint ? Il remet à la sortie, en exécution normale, le niveau de sécurité d'Excel tel qu'il l'avait trouvé avant de charger le fichier
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
232
Réponses
4
Affichages
477
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…