Créer un Msgbox

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.
 
G

Guest

Guest
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+
 

ROGER2327

XLDnaute Barbatruc
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
 

camarchepas

XLDnaute Barbatruc
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
 

Arpette

XLDnaute Impliqué
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.
 

Discussions similaires


Haut Bas