Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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+
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:=478 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
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+
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
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:=478).Enabled =
False
'Cellule/supprimer
Application.CommandBars("Cell").FindControl(ID:=292).Enabled =
False
'Ligne/supprimer
Application.CommandBars("Row").FindControl(ID:=293).Enabled = False
Application.OnKey "^{-}", ""
Application.OnKey "^{109}", ""
End Sub
Sub AutoriserSuppressionLigne()
Application.CommandBars("Edit").FindControl(ID:=478).Enabled =
True
Application.CommandBars("Cell").FindControl(ID:=292).Enabled =
True
Application.CommandBars("Row").FindControl(ID:=293).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
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