OVH Cloud OVH Cloud

Événement VBA

2 réponses
Avatar
Patrick Fredin
Bonjour,

Existe-t-il un événement déclenché quand on supprime une ligne d'une feuille ?

Sinon, y a-t-il un moyen de le simuler ?

En fait, quand je supprime une ligne, j'aimerais qu'une procédure soit
déclenchée.

Merci pour votre aide.

--
Patrick

2 réponses

Avatar
anonymousA
Bonjour,

il n'existe pas d'évenement déclenché par la suppression d'une
ligne. Au mieux , ce que tu peux faire c'est orienter les controles qui
permettent de supprimer vers une procédure à toi (ici appelée toto)
dans laquelle tu écris les instructions que tu souhaites. Attention
dans ce qui suit , le id:G8 agira aussi pour la suppression d'une
colonne.

arrid = Array(292, 293, 478)
For J = LBound(arrid) To UBound(arrid)
For I = 1 To
Application.CommandBars.FindControls(ID:=arrid(J)).Count

Application.CommandBars.FindControls(ID:=arrid(J)).Item(I).OnAction =
"toto"
Next
Next

'si tu veux que les controles reprennent le comportement habituel

arrid = Array(292, 293, 478)
For J = LBound(arrid) To UBound(arrid)
For I = 1 To
Application.CommandBars.FindControls(ID:=arrid(J)).Count

Application.CommandBars.FindControls(ID:=arrid(J)).Item(I).reset
Next
Next

A+
Avatar
Philippe Noss
Sinon il y toujours possibilité d'interdire de supprimmer une ligne
et d'ajouter un bouton qui lui supprimera la ligne et enchainera avec
le code :
Sub InterdireSuppressionLigne()
'EDition/supprimer
Application.CommandBars("Edit").FindControl(ID:G8).Enabled =
False
'Cellule/supprimer
Application.CommandBars("Cell").FindControl(ID:)2).Enabled =
False
'Ligne/supprimer
Application.CommandBars("Row").FindControl(ID:)3).Enabled = False

Application.OnKey "^{-}", ""
Application.OnKey "^{109}", ""
End Sub


Sub AutoriserSuppressionLigne()
Application.CommandBars("Edit").FindControl(ID:G8).Enabled =
True
Application.CommandBars("Cell").FindControl(ID:)2).Enabled =
True
Application.CommandBars("Row").FindControl(ID:)3).Enabled = True
Application.OnKey "^{-}"
Application.OnKey "^{109}"
End Sub

Dans Thisworkbook
Private Sub Workbook_Activate()
InterdireSuppressionLigne
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
AutoriserSuppressionLigne
End Sub

Private Sub Workbook_Deactivate()
AutoriserSuppressionLigne
End Sub

Private Sub Workbook_Open()
InterdireSuppressionLigne
End Sub


http://nossphil.perso.cegetel.net/exoutils.html
Philippe N


Répondre