message sur suppression de ligne

  • Initiateur de la discussion Initiateur de la discussion angoul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

angoul

XLDnaute Impliqué
(resolu)message sur suppression de ligne

Bonsoir

j'ai besoin de votre aide sur un petit probleme

j'aimerai quand je supprime une ou des lignes dans la feuille 1 par exemple, qu'il y ai une petite fenetre qui me dit " ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE "

merci de votre aide
 
Dernière édition:
Re : message sur suppression de ligne

Bonjour angol,

Voici un code à mettre dans ThisWorkBook.
En choisissant "non" au message d'avertissement, la suppression est annulée.

Code:
Dim rCell As Range, Lig As Long
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
test = rCell(1).Row 'permet de vérifier qu'il ne s'agit pas d'une insertion de ligne
If Err.Number = 0 Then
  If Lig > rCell(1).Row Then 'détecte la suppression de ligne
      If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then Application.Undo
  End If
End If
On Error GoTo 0
Application.EnableEvents = True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Lig = Rows.Count
Set rCell = Cells(Lig, Target.Column)
End Sub
Edit: petite précision: marche pour toutes les feuilles du fichier.
Edit2: code adapté pour fonctionner aussi sur XL 2007 😉
 
Dernière édition:
Re : message sur suppression de ligne

merci sa marche super
j'ai rajouter une ligne en rouge quelqu'un peut me dire si c'est bon?
Dim rCell As Range
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
test = rCell(1).Row 'permet de vérifier qu'il ne s'agit pas d'une insertion de ligne
If Err.Number = 0 Then
If 65536 > rCell(1).Row Then 'détecte la suppression de ligne
If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then Application.Undo
End If
Sheets("Facture").Select
End If
On Error GoTo 0
Application.EnableEvents = True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Set rCell = Cells(65536, Target.Column)
End Sub
 
Re : message sur suppression de ligne

Re,

j'ai édité mon message entre temps, tu ne l'as pas vu je pense.
Si tu veux que cela se produise uniquement sur la feuille Facture, écrit ce code dans le code de la feuille facture:

Code:
Dim rCell As Range, Lig As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
test = rCell(1).Row 'permet de vérifier qu'il ne s'agit pas d'une insertion de ligne
If Err.Number = 0 Then
  If Lig > rCell(1).Row Then 'détecte la suppression de ligne
      If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then Application.Undo
  End If
End If
On Error GoTo 0
Application.EnableEvents = True

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Lig = Rows.Count
Set rCell = Cells(Lig, Target.Column)

End Sub

Bonne soirée.
 
Re : message sur suppression de ligne

merci de ton aide, si c'est pas trop compliquer
est ce que quand on clique sur "OUI" pour la suppression, apres il m'ouvre m'affiche la feuille 2, sinon si je clique sur "NON" alors il se passe rien comme maintenant
merci
 
Re : message sur suppression de ligne

Quand tu clique sur non, cela annule la suppression et pas "il ne se passe rien", je voulais préciser cela.
Pour l'activation de la feuille 2, modifie le code ici (en bleu):

Code:
  If Lig > rCell(1).Row Then 'détecte la suppression de ligne
      [B][COLOR=Blue]If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then
        Application.Undo
      Else: Sheets(2).Activate
      End If[/COLOR][/B]
  End If
 
Re : message sur suppression de ligne

merci de ton aide, mais helas cela marche pas
Voila ce que j'ai mis je met mon fichier joint pour que quelqu'un y regarde si possible

Dim rCell As Range, Lig As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
test = rCell(1).Row 'permet de vérifier qu'il ne s'agit pas d'une insertion de ligne
If Err.Number = 0 Then
If Lig > rCell(1).Row Then 'détecte la suppression de ligne
If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then
Application.Undo
Else: Sheets(2).Activate
End If
End If
On Error GoTo 0
Application.EnableEvents = True

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Lig = Rows.Count
Set rCell = Cells(Lig, Target.Column)

End Sub

Il me met " erreur de compilation :"
Bloc if sans end if

merci de votre aide
 

Pièces jointes

Re : message sur suppression de ligne

Re bonjour angoul,

arrfff, désolé, il manquait comme le dit le message d'erreur un "End If" supplémentaire:

Code:
Dim rCell As Range, Lig As Long
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error Resume Next
test = rCell(1).Row 'permet de vérifier qu'il ne s'agit pas d'une insertion de ligne
If Err.Number = 0 Then
If Lig > rCell(1).Row Then 'détecte la suppression de ligne
      If MsgBox("ATTENTION VOUS ALLEZ SUPPRIMER UNE LIGNE, merci de confirmer", vbInformation + vbYesNo) = vbNo Then
        Application.Undo
      Else: Sheets(2).Activate
      End If
  End If
[B][COLOR=blue]End If
[/COLOR][/B]On Error GoTo 0
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Lig = Rows.Count
Set rCell = Cells(Lig, Target.Column)
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
639
  • Question Question
Réponses
32
Affichages
748
Réponses
4
Affichages
219
Réponses
15
Affichages
522
Retour