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.
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
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.
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
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.
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.
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" <wesley.saris@gmail.com> a écrit dans le message de news:
1111053410.675151.155470@f14g2000cwb.googlegroups.com...
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.
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.