Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Catcher l'evenement de suppression de ligne

2 réponses
Avatar
Franck
Bonjour,
est-ce possible de catcher l'=E9v=E8nement de suppression de ligne dans
une feuille Excel ?

Mon probl=E8me est que certaines cellules de ma feuille sont
v=E9rouill=E9es (la feuille =E9galement).
Le user dispose du droit d'ins=E9rer des lignes.
Lorsqu'il le fait, tous les formats se propagent et donc, lorsqu'il
tente de supprimer la ligne, il se prend un message dans la figure
comme quoi les cellules v=E9rouill=E9es ne peuvent =EAtre supprim=E9es.

Donc, ce que j'aimerais, c'est, en VBA, catch=E9 l'event, d=E9v=E9rouiller
toutes les cellules, et ensuite supprimer la ligne.

merci de votre aide.

2 réponses

Avatar
kribot
salut Franck,

j'ai eu le même souci que toi pour une application et je n'a
malheureusement pas trouver la solution j'ai donc contourner l
problème en ajoutant des CommandButton sur ma feuille (Un pour insére
et un pour supprimer)
c'est une autre façon de voir les choses par contre si tu arrives
catcher des événements n'hésite pas à le dire mais je ne pense pas qu
ce soit possible.

Bonne chanc

--
kribo
-----------------------------------------------------------------------
kribot's Profile: http://www.msusenet.com/member.php?userid
View this thread: http://www.msusenet.com/t-324272
Avatar
MichDenis
Bonjour Frank,


Un début ici :

La procédure : Sub Bonjour() , tu inscris le code qui doit intervenir lorsque l'usager utilise cette commande.


Tu copies tout ce qui suit dans un module Standard :

'-------------------------------------------------
Sub EnleverLaFonctionSupprimerLignesEtColonnes()

'déclaration des variables
Dim Cbar As CommandBar, D As CommandBarControl
Dim C As CommandBarControl

On Error Resume Next
For Each Cbar In Application.CommandBars
For Each C In Cbar.Controls
If C.Caption = "&Supprimer..." Then
C.OnAction = "Bonjour"
End If
Err = 0
For Each D In C.Controls
Err = 0
If D.Caption = "&Supprimer..." Then
D.OnAction = "Bonjour"
End If
Next
Next
Next
End Sub
'-------------------------------------------------
Sub Bonjour()

'Chaque fois que tu vas cliquer sur le bouton
'supprimer, c'est cette macro qui va s'excécuter
'Tu peux inscrire le code que tu veux.
MsgBox "Cette commande n'est pas disponible"

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

Sub RemettreLaFonctionSupprimerCommeAvante()

'déclaration des variables
Dim Cbar As CommandBar, D As CommandBarControl
Dim C As CommandBarControl

On Error Resume Next
For Each Cbar In Application.CommandBars
For Each C In Cbar.Controls
If C.Caption = "&Supprimer..." Then
C.OnAction = ""
End If
Err = 0
For Each D In C.Controls
Err = 0
If D.Caption = "&Supprimer..." Then
D.OnAction = ""
End If
Next
Next
Next
End Sub
'-------------------------------------------------


Salutations!




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

Bonjour,
est-ce possible de catcher l'évènement de suppression de ligne dans
une feuille Excel ?

Mon problème est que certaines cellules de ma feuille sont
vérouillées (la feuille également).
Le user dispose du droit d'insérer des lignes.
Lorsqu'il le fait, tous les formats se propagent et donc, lorsqu'il
tente de supprimer la ligne, il se prend un message dans la figure
comme quoi les cellules vérouillées ne peuvent être supprimées.

Donc, ce que j'aimerais, c'est, en VBA, catché l'event, dévérouiller
toutes les cellules, et ensuite supprimer la ligne.

merci de votre aide.