• Initiateur de la discussion Initiateur de la discussion Arpette
  • 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 !

Arpette

XLDnaute Impliqué
Bonsoir le forum, j'ai créé une fonction MsgBox mais elle ne fonctionne pas. Avec clique droit je supprime une ligne et j'affiche un message "Voulez-vous supprimer la ligne ? Si je répond " oui ou Non " ça supprime. Il doit me manquer un bout de code. Voici que j'ai écrit.

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Worksheets("Relevé_Hebdo").Unprotect

If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing Then
Dim Rep As Integer
Rep = MsgBox("Voulez vous supprimer cette ligne ?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
Application.CutCopyMode = False
Merci de votre aide.
 
Re : Créer un Msgbox

bonjour,

Exemple:

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Target.count teste s'il i a plusieurs cellules sélectionner
'pour éviter de supprimer plusieurs lignes en même temps
    If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing And Target.Count = 1 Then
        If MsgBox("Voulez vous supprimer cette ligne ?", _
                  vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation") = vbYes Then
            Target.EntireRow.Delete 'supprime la ligne complète
            'Evite de faire apparaître le menu contextuel des cellules
            'peut-être placé ailleur, placé ici le menu apparaîtra si la reponse est non
            Cancel = True
        End If
    End If
End Sub

P.S. pourrais-tu utiliser le bouton # de la barre d'outils d'édtion des message pour les codes VBA ou formules. Ton message est difficilement lisible.

A+
 
Re : Créer un Msgbox

Bonjour Arpette
Le code est fort incomplet, mais peut-être que :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Rep As Integer
   If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing Then
      Cancel = True
      Rep = MsgBox("Voulez vous supprimer cette ligne ?", _
      vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
      [U]If Rep = 6 Then[/U]
         [COLOR="SeaGreen"]'Code à exécuter si la réponse est OUI.[/COLOR]
      [U]Else[/U]
         [COLOR="SeaGreen"]'Code à exécuter si la réponse est NON.[/COLOR]
      [U]End If[/U]
   End If
End Sub[/B][/COLOR]
pourrait s'approcher de ce que vous cherchez.​
ROGER2327
#3883


Jeudi 26 Gidouille 137 (Sainte Goulache, odalisque, SQ)
22 Messidor An CCXVIII
2010-W27-6T16:47:35Z
 
Re : Créer un Msgbox

Bonjour à tous,

Là c'est moi qui suis à la ramasse , mais j'envoie qu'en même dès fois que :
c'est vrai qu'il manque plein de chose dans le code proposé

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Rep As Integer
Worksheets("Relevé_Hebdo").Unprotect
If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing Then
Rep = MsgBox("Voulez vous supprimer cette ligne ?", _
vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation")
'Action uniquement si réponse "Oui"
If Rep = 6 Then
'Supprime la ligne
ActiveSheet.Rows(Target.Row).Delete
'Annule le menu contextuel
Cancel = True
End If
End If
End Sub
 
Re : Créer un Msgbox

bonjour,

Exemple:

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Target.count teste s'il i a plusieurs cellules sélectionner
'pour éviter de supprimer plusieurs lignes en même temps
    If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing And Target.Count = 1 Then
        If MsgBox("Voulez vous supprimer cette ligne ?", _
                  vbYesNo + vbQuestion + vbDefaultButton2, "Confirmation") = vbYes Then
            Target.EntireRow.Delete 'supprime la ligne complète
            'Evite de faire apparaître le menu contextuel des cellules
            'peut-être placé ailleur, placé ici le menu apparaîtra si la reponse est non
            Cancel = True
        End If
    End If
End Sub

P.S. pourrais-tu utiliser le bouton # de la barre d'outils d'édtion des message pour les codes VBA ou formules. Ton message est difficilement lisible.

A+

Bonjour Hasco, Roger et çamarchepas, merci pour vos réponses, c'est nickel.
A bientôt.
 
- 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

Réponses
4
Affichages
586
Retour