Mode de lecture d'un fichier excel en vba

Signaler
Messages postés
222
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
18 février 2011
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
Bonjour,

J'ouvre un fichier excel en lecture seul.
Dans ce fichier excel j'effectue des modifs et je clique sur un bouton.
Je dois alors automatiquement le sauvegarder.
Comment puis-je faire ?
En qqsorte je dois "passer" le fichier en "normal", sauvegarder, puis le remettre en "lecture seule".
De +, quelle est le code pour sauvegarder un fichier excel en vba, via un bouton, et définir son nom.

''***************************************************************************
...à votre service
Thanks & Peace
Tonio

3 réponses

Messages postés
222
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
18 février 2011
3
Pour préciser, le fichier excel devra être initialisé avec certaines valeurs à sa première ouverture, une seule fois.

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
Messages postés
60
Date d'inscription
vendredi 26 octobre 2007
Statut
Membre
Dernière intervention
30 mars 2010

Bonjour à tous
Bonjour

Avec ce code tu enregistres le fichier, mais attention, il ne sera pas en lecture seul
***
    ActiveWorkbook.SaveAs Filename:= "C:\monfichier.xls"
***
Quant à ta première question, OUI, il faut passer en normal, avec le code VBA aussi, si tu veux le sauvegarder avec le même nom

Frédéric
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Pour modifier les attributs d'un fichier, tu peux normalement utiliser SetAttr
À voir dans ton aide
Il faudra probablement changer l'attribut "lecture seule" avant de l'ouvrir, je pense.

Si tu utilises Workbooks.Open, le 3e paramètre est ReadOnly que tu peux modifier.

Pour ce qui est de l'initialisation seulement une fois, il faudrait que tu utilises une feuille cachée ou la base de registre pour inscrire une valeur qui indique si oui ou non l'action a été faite au moins une fois. Là, ça dépend si cette action doit avoir eu lieu une seule fois pour le classeur (feuille cachée seulement) ou une seule fois pour l'utilisateur (base de registre possible ou feuille cachée)

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI