OVH Cloud OVH Cloud

Ajustement de macro

2 réponses
Avatar
Caroline L.
Bonjour,

sous une autre rubrique, je faisais appel à vous pour empêcher l'utilisation
de "enregistrer sous". J'ai eu plein de conseil et aide... merci à ceux qui
m'ont aidé.
Maintenant, j'ai besoin d'un petit ajustement avec une macro fourni par
HD... je suis heureuse car elle répond très bien à ma demande, sauf que je
voudrais pouvoir "Enregistrer" (mais ne pas pouvoir "Enregistrer sous").
La macro est la suivante :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

Merci
Caroline

2 réponses

Avatar
denis P
Salut

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If SaveAsUI Then
Cancel = True
End If
End Sub


denis p.

"Caroline L." a écrit dans le message de
news:4CFVd.14452$
Bonjour,

sous une autre rubrique, je faisais appel à vous pour empêcher
l'utilisation

de "enregistrer sous". J'ai eu plein de conseil et aide... merci à ceux
qui

m'ont aidé.
Maintenant, j'ai besoin d'un petit ajustement avec une macro fourni par
HD... je suis heureuse car elle répond très bien à ma demande, sauf que je
voudrais pouvoir "Enregistrer" (mais ne pas pouvoir "Enregistrer sous").
La macro est la suivante :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

Merci
Caroline




Avatar
MichDenis
Bonjour Caroline,

Dans le ThisWorkbook, Si tu as une version Excel 97, on doit modifier un peu les 2 procédures du module standard.

Tu copies ceci :
'-----------------------
Private Sub Workbook_Activate()
ModifierEnregistrerSous
End Sub
'-----------------------
Private Sub Workbook_Deactivate()
EnregistrerSous_Normal
End Sub
'-----------------------

Et dans un module Standard :

Sub ModifierEnregistrerSous()

For Each c In Application.CommandBars.FindControls(ID:t8)
c.OnAction = "NCmd"
Next

For Each c In Application.CommandBars.FindControls(ID:=3)
c.OnAction = "NCmd"
Next
End Sub
'-----------------------

Sub Ncmd()

If InStr(1, ThisWorkbook.Path, "", vbTextCompare) <> 0 Then
ActiveWorkbook.Save
Else
MsgBox "Commande inaccessible acutellement", _
vbInformation + vbOKOnly, "Votre Boss, Hi, Hi !!!"
End If

End Sub
'-----------------------

Sub EnregistrerSous_Normal()

For Each c In Application.CommandBars.FindControls(ID:t8)
c.OnAction = ""
Next

For Each c In Application.CommandBars.FindControls(ID:=3)
c.OnAction = ""
Next
End Sub
'-----------------------


Salutations!


"Caroline L." a écrit dans le message de news: 4CFVd.14452$
Bonjour,

sous une autre rubrique, je faisais appel à vous pour empêcher l'utilisation
de "enregistrer sous". J'ai eu plein de conseil et aide... merci à ceux qui
m'ont aidé.
Maintenant, j'ai besoin d'un petit ajustement avec une macro fourni par
HD... je suis heureuse car elle répond très bien à ma demande, sauf que je
voudrais pouvoir "Enregistrer" (mais ne pas pouvoir "Enregistrer sous").
La macro est la suivante :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel = True
End Sub

Merci
Caroline