OVH Cloud OVH Cloud

Empecher le renommage d'un fichier

3 réponses
Avatar
Thierry
bonjour,


quelq'un saurait il comment empecher le renommage d'un fichier excel ?
en vba ?


merci d'avance
srmt
thierrry

3 réponses

Avatar
j
je ne pense pas qu'on puisse empêcher le renommage d'un fichier, en passant
par exemple par l'explorateur Windows
Par contre, tu peux empêcher l'"enregistrement sous" un autre nom en
utilisant l'événement workbook_beforesave


http://jacxl.free.fr/



"Thierry" a écrit dans le message de news:
3fbb0358$0$10433$
bonjour,


quelq'un saurait il comment empecher le renommage d'un fichier excel ?
en vba ?


merci d'avance
srmt
thierrry




Avatar
Philippe.R
Bonsoir Thierry,
Sans vraiment empêcher le "renommage", une piste pour rendre difficile d'utilisation une version
renommée du fichier :
Ajouter en tête du classeur une feuille vierge
dans le module thisworkbook les macros :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 2 To Sheets.Count
Sheets(i).Visible = xlVeryHidden
Next i
End Sub


Private Sub Workbook_Open()
If ThisWorkbook.Name <> "Mon_classeur_originel" Then ThisWorkbook.Close
End Sub

plus une protection du code VBA
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Thierry" a écrit dans le message de news:3fbb0358$0$10433$
bonjour,


quelq'un saurait il comment empecher le renommage d'un fichier excel ?
en vba ?


merci d'avance
srmt
thierrry




Avatar
Michel Gaboly
Bonsoir,

Variante, en supposant que le chemin d'accès et le nom du fichier se trouvent en A1 de la première feuille

Private Sub Workbook_Open()
If ThisWorkbook.Name <> "Mon_classeur_originel" Then ThisWorkbook.SaveAs Worksheets(1).Range("A1")
End Sub

En clair à chaque ouverture, si le nom a ét modifié, tu réenregistres le classeur avec le nom souhaité.



Bonsoir Thierry,
Sans vraiment empêcher le "renommage", une piste pour rendre difficile d'utilisation une version
renommée du fichier :
Ajouter en tête du classeur une feuille vierge
dans le module thisworkbook les macros :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 2 To Sheets.Count
Sheets(i).Visible = xlVeryHidden
Next i
End Sub

Private Sub Workbook_Open()
If ThisWorkbook.Name <> "Mon_classeur_originel" Then ThisWorkbook.Close
End Sub

plus une protection du code VBA
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Thierry" a écrit dans le message de news:3fbb0358$0$10433$
bonjour,


quelq'un saurait il comment empecher le renommage d'un fichier excel ?
en vba ?


merci d'avance
srmt
thierrry





--
Cordialement,

Michel Gaboly
http://www.gaboly.com