VBA : Autoriser modifications à l'ouverture
Résolu/Fermé
BretonBeurre
Messages postés
12
Date d'inscription
vendredi 12 octobre 2018
Statut
Membre
Dernière intervention
22 octobre 2018
-
Modifié le 12 oct. 2018 à 15:00
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 12 oct. 2018 à 17:31
fabien25000 Messages postés 673 Date d'inscription mercredi 5 octobre 2016 Statut Membre Dernière intervention 28 juillet 2022 - 12 oct. 2018 à 17:31
A voir également:
- VBA : Autoriser modifications à l'ouverture
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dépassement de capacité ✓ - Forum Excel
2 réponses
BretonBeurre
Messages postés
12
Date d'inscription
vendredi 12 octobre 2018
Statut
Membre
Dernière intervention
22 octobre 2018
1
12 oct. 2018 à 17:29
12 oct. 2018 à 17:29
Merci à fabien25000 d'avoir trouvé la solution, voici le code à utiliser lors de l'ouverture du fichier :
Merci encore à lui !
Set wkb = Workbooks.Open(Filename:=sFileName, UpdateLinks:=False, ReadOnly:=True, WriteResPassword:="Password", IgnoreReadOnlyRecommended:=True)
Merci encore à lui !
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
12 oct. 2018 à 15:53
12 oct. 2018 à 15:53
Bonjour,
je n'ai pas le temps de tester mais peut être en partant sur une msgbox qui demande si besoin de modif ou pas si oui readonly:=true si non false
je n'ai pas le temps de tester mais peut être en partant sur une msgbox qui demande si besoin de modif ou pas si oui readonly:=true si non false
BretonBeurre
Messages postés
12
Date d'inscription
vendredi 12 octobre 2018
Statut
Membre
Dernière intervention
22 octobre 2018
1
12 oct. 2018 à 16:13
12 oct. 2018 à 16:13
Le truc c'est qu'il faut toujours pouvoir ouvrir le fichier manuellement, avec le choix de l'ouvrir en Lecture seule ou non.
Donc j'ai essayé de faire une msgbox à son ouverture, mais on ne peut pas modifier les attributs d'un fichier ouvert. Alors j'ai dû taper un code qui, en fonction de la réponse de l'utilisateur, ferme le fichier, puis le rouvre en changeant l'attribut de celui-ci. Sauf qu'au moment de le ré-ouvrir il me redemande si je veux la Lecture Seule ou non… Même avec "Application.DisplayAlerts = False".... Dommage ;)
Donc j'ai essayé de faire une msgbox à son ouverture, mais on ne peut pas modifier les attributs d'un fichier ouvert. Alors j'ai dû taper un code qui, en fonction de la réponse de l'utilisateur, ferme le fichier, puis le rouvre en changeant l'attribut de celui-ci. Sauf qu'au moment de le ré-ouvrir il me redemande si je veux la Lecture Seule ou non… Même avec "Application.DisplayAlerts = False".... Dommage ;)
BretonBeurre
Messages postés
12
Date d'inscription
vendredi 12 octobre 2018
Statut
Membre
Dernière intervention
22 octobre 2018
1
12 oct. 2018 à 16:16
12 oct. 2018 à 16:16
A moins que je ne me sois trompé dans mon code, peut-être qu'il y a un autre moyen que ce que j'ai fait pour que ça fonctionne, mais à première vue ça ne fonctionne pas...
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
12 oct. 2018 à 16:40
12 oct. 2018 à 16:40
oui c'est pas faux...
et si tu code sur
et si tu code sur
Workbook_BeforeSaveavec un if et en condition ton
environ("username")et si c'est pas toi
thisworkbook.close (false)du coup t'as plus besoin de la lecture seule ?
BretonBeurre
Messages postés
12
Date d'inscription
vendredi 12 octobre 2018
Statut
Membre
Dernière intervention
22 octobre 2018
1
12 oct. 2018 à 16:51
12 oct. 2018 à 16:51
Par le code VBA, il faut que je puisse modifier et enregistrer "MonFichier.xlsx". Mais manuellement, il faut que je dise à l'ouverture si je veux être en lecture seule ou non. Donc je n'ai pas compris exactement ce que tu voulais faire, mais à la fin dans mon code je devrai finir par lui dire d'enregistrer les modifs. Merci quand même pour les idées ! ;)
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
12 oct. 2018 à 17:08
12 oct. 2018 à 17:08
J'ai trouvé ce code :
à voir si ça peut t'aider en cruesant dans ce sens...
Set wkb = Workbooks.Open(Filename:=sFileName, UpdateLinks:=False, ReadOnly:=True, IgnoreReadOnlyRecommended:=True)
à voir si ça peut t'aider en cruesant dans ce sens...