macro pour empecher la reouverture d'1 fichier excel en lecture seule

Alex550445

XLDnaute Junior
Bonjour,

Est il possible par une macro d'empecher la reouverture d'un fichier excel
(le classeur .xls est déjà ouvert. Si vous l'ouvrez à nouveau, toutes vos modifications seront perdues.Voulez vous rouvrir....?)

Malgré ce message d'alerte, les personnes clic sur oui!!!

d'avance merci
 

youky(BJ)

XLDnaute Barbatruc
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

Bonjour Alex,
A modifier chemin si les 2 classeur sont en répertoire différent,
et mets le nom de ton classeur à la place de TonClasseur.xls
Principe de la macro , on gère si erreur donc on active le classeur, s'il n'est pas ouvert err se produit alors on l'ouvre

Code:
chemin = ThisWorkbook.Path
On Error Resume Next
Workbooks("TonClasseur.xls").Activate
If Err.Number = 9 Then
Err = 0
Workbooks.Open Filename:=chemin & "\TonClasseur.xls"
End If
 

Alex550445

XLDnaute Junior
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

Merci, par contre tu me dis :

"A modifier chemin si les 2 classeur sont en répertoire différent,"

je ne comprend pas trop, c'est dans le cas ou j'aurais 2 classeurs differents portant le meme nom dans 2 endroits differents, c'est bien ca ?

donc si j'ai un seul repertoire je peux enlever:
Workbooks.Open Filename:=chemin & "\TonClasseur.xls"

Sinon comment ajouter un message d'alerte si quelqu'un essai de reouvrir le fichier ? je voudrais sensibiliser les gens en plus de leur bloquer l'acces !!

encore merci

PS: est ce normal qu'une fois que j'ai ecrit la macro et apres l'avoir fait fonctionnée une fois je puisse effacé la macro et qu'elle fonctionne toujours ?
 

youky(BJ)

XLDnaute Barbatruc
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

Re:
si le fichier contenant la macro est dans le même répertoire que le fichier à ouvrir ne change pas la macro.
Par contre si le fichier à ouvrir est dans un repertoire différent il faut préciser le chemin
exemple :
chemin ="C:\Année\2008"

Code:
chemin = ThisWorkbook.Path' ici le chemin du fichier à ouvrir si différent de celui-ci
On Error Resume Next
Workbooks("TonClasseur.xls").Activate
If Err.Number = 9 Then
Err = 0
Workbooks.Open Filename:=chemin & "\TonClasseur.xls"
End If
 

Alex550445

XLDnaute Junior
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

merci,
et pour cette ligne de commande :
Workbooks.Open Filename:=chemin & "\TonClasseur.xls"

si le fichier contenant la macro est dans le même répertoire que le fichier à ouvrir ex:C:\Année\2008.xls

je fais bien comme ceci :
Workbooks.Open Filename:=chemin & "="C:\Année\2008.xls"
 

youky(BJ)

XLDnaute Barbatruc
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

Bonjour,
He bien non Alex,
tu as faux dans ta dernière réponse.
Si les fichiers sont dans le même répertoire utilise ma 1ère réponse
change seulement le nom du fichier à Activer ou à ouvrir
Moi je l'ai appelé TonClasseur.xls
donc ne change que ce nom
Bonne réussite
 

Alex550445

XLDnaute Junior
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

ah ok, je comprend mieux, je te remercie

une dernière question si je n'abuse pas trop....

comment desactiver cette macro ? je l'ai mise dans Workbook_Open()

Et meme après l'avoir effacé elle fonctionne encore
 

Alex550445

XLDnaute Junior
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

non c'est moi qui déconne, ca marche...

par contre le message me disant que le fichier est deja ouvert s'ouvre quand meme avec la macro, mais n'a pas d'incidence selon qu'on lui mette oui ou non !!
c'est normal ? c'est bien le principe de la macro ?

merci
 

Alex550445

XLDnaute Junior
Re : macro pour empecher la reouverture d'1 fichier excel en lecture seule

Je viens de m'appercevoir que lorsque mon fichier est deja ouvert et qu'il me demande si je desire l'ouvrir a nouveau, mes modifications n'ont pas été prises en compte !!

comment enregistrer le fichier avant qu'il le reouvre?
 

Discussions similaires

Réponses
2
Affichages
235

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon