OVH Cloud OVH Cloud

A l'ouverture du classeur --- SupprimeCellule = False

2 réponses
Avatar
VieLa
Bonsoir,

Par mégarde j'ai détruit ma liste de donnée en supprimant la cellule au lieu
de supprimer la ligne.

Pour protéger ma liste de donnée sur Excel;
Comment enlever l'option "Supprimer cellule, décaler vers le haut ou vers la
droite à l'ouverture du classeur ?

Merci!

PS: c pas drôle de retaper une liste

Slut :)

2 réponses

Avatar
Hervé
Salut Denis,
Regarde si cela te convient. A mettre dans le module du classeur
(ThisWorkbook) :
La suppression des lignes et colonnes sera aussi impossible ??? Revient si
cela ne va pas.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiverDesactiver True
End Sub

Private Sub Workbook_Open()
ActiverDesactiver False
End Sub

Sub ActiverDesactiver(Etat As Boolean)
Dim Ctrl As CommandBarControls
Dim I As Integer

'défini l'état d'activation
Etat = True

On Error Resume Next
'barre des menus
With Application.CommandBars(1)
.Controls("&Edition") _
.Controls("&Supprimer...").Enabled = Etat
End With
'menu clic droit
With Application.CommandBars("Cell")
.Controls("&Supprimer...").Enabled = Etat
End With

'recherche les boutons de
'suppressions de cellules
Set Ctrl = CommandBars.FindControls _
(msoControlButton, 292, , True)
'si trouvé, les active ou désactive
If Not Ctrl Is Nothing Then
For I = 1 To Ctrl.Count
Ctrl(I).Enabled = Etat
Next I
End If

Set Ctrl = Nothing

End Sub

Hervé.


"VieLa" a écrit dans le message de news:
OmAOc.14204$
Bonsoir,

Par mégarde j'ai détruit ma liste de donnée en supprimant la cellule au
lieu

de supprimer la ligne.

Pour protéger ma liste de donnée sur Excel;
Comment enlever l'option "Supprimer cellule, décaler vers le haut ou vers
la

droite à l'ouverture du classeur ?

Merci!

PS: c pas drôle de retaper une liste

Slut :)




Avatar
?ve
Oups !
Dans le code il y a 2 erreurs !!!
1ère erreur :
Dans la proc "ActiverDesactiver", il te faut supprimer la ligne "Etat True" (issue d'un autre post) car sinon il te sera toujours possible de
supprimer.
2ème erreur :
"La suppression des lignes et colonnes sera aussi impossible ??? " C'est
faut !!! (pas la même barre).

Si plusieurs classeurs ouverts, utilise aussi les évennements
"Workbook_Deactivate()" et "Workbook_Activate()" pour avoir les commandes
disponibles.
Désolé.

Hervé.
Ne pas répondre en bal perso (suis chez ma soeurette)

"Hervé" a écrit dans le message de news:

Salut Denis,
Regarde si cela te convient. A mettre dans le module du classeur
(ThisWorkbook) :
La suppression des lignes et colonnes sera aussi impossible ??? Revient si
cela ne va pas.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiverDesactiver True
End Sub

Private Sub Workbook_Open()
ActiverDesactiver False
End Sub

Sub ActiverDesactiver(Etat As Boolean)
Dim Ctrl As CommandBarControls
Dim I As Integer

'défini l'état d'activation
Etat = True

On Error Resume Next
'barre des menus
With Application.CommandBars(1)
.Controls("&Edition") _
.Controls("&Supprimer...").Enabled = Etat
End With
'menu clic droit
With Application.CommandBars("Cell")
.Controls("&Supprimer...").Enabled = Etat
End With

'recherche les boutons de
'suppressions de cellules
Set Ctrl = CommandBars.FindControls _
(msoControlButton, 292, , True)
'si trouvé, les active ou désactive
If Not Ctrl Is Nothing Then
For I = 1 To Ctrl.Count
Ctrl(I).Enabled = Etat
Next I
End If

Set Ctrl = Nothing

End Sub

Hervé.


"VieLa" a écrit dans le message de news:
OmAOc.14204$
Bonsoir,

Par mégarde j'ai détruit ma liste de donnée en supprimant la cellule au
lieu

de supprimer la ligne.

Pour protéger ma liste de donnée sur Excel;
Comment enlever l'option "Supprimer cellule, décaler vers le haut ou
vers


la
droite à l'ouverture du classeur ?

Merci!

PS: c pas drôle de retaper une liste

Slut :)