Mode de lecture d'un fichier excel en vba

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 8 janv. 2008 à 14:15
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 8 janv. 2008 à 23:09
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

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

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
cs_Frederic45 Messages postés 60 Date d'inscription vendredi 26 octobre 2007 Statut Membre Dernière intervention 30 mars 2010
8 janv. 2008 à 14:37
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
8 janv. 2008 à 23:09
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
0
Rejoignez-nous