confirmation code par msgbox

kinel

XLDnaute Occasionnel
Bonjour à tous

j'utilise le code ci dessous pour effacer automatiquement plusieurs cellules lorsqu'on efface celle de la troisième colonne
ça fonctionne très bien mais je voudrai intégrer un msgbox qui demande confirmation ou non de l'effacement

merci de votre aide

KInel

If Target.Column <> 3 Or Target.Count > 1 Or (Target.Row < 4 Or Target.Row > 34) Then Exit Sub
If IsEmpty(Target) Then
ActiveSheet.Unprotect
Application.EnableEvents = False
Target.Resize(, 4).ClearContents
Target.Resize(, 5).ClearContents
Target.Resize(, 6).ClearContents
Target.Resize(, 7).ClearContents
Target.Resize(, 8).ClearContents
Target.Resize(, 9).ClearContents
Target.Resize(, 10).ClearContents
Target.Resize(, 11).ClearContents
Application.EnableEvents = True
ActiveSheet.Protect


End If
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : confirmation code par msgbox

Bonjour Kinel,
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 3 Or Target.Count > 1 Or (Target.Row < 4 Or Target.Row > 34) Then Exit Sub
If IsEmpty(Target) Then
If MsgBox("Etes-vous certain de vouloir supprimer", vbYesNo, vbNo) = vbNo Then
Exit Sub
End If
ActiveSheet.Unprotect
Application.EnableEvents = False
Target.Resize(, 4).ClearContents
Target.Resize(, 5).ClearContents
Target.Resize(, 6).ClearContents
Target.Resize(, 7).ClearContents
Target.Resize(, 8).ClearContents
Target.Resize(, 9).ClearContents
Target.Resize(, 10).ClearContents
Target.Resize(, 11).ClearContents
Application.EnableEvents = True
ActiveSheet.Protect
Else
Exit Sub
End If
End Sub

à+
Philippe

Edit: Bonjour Hacso
 

Papou-net

XLDnaute Barbatruc
Re : confirmation code par msgbox

Bonsoir kinel, salut Hasco,

Etrange cette suite de .Resize(,n)!?

J'allais le dire!

Et puisque j'ai revu le code, je le joins:

Code:
If Target.Column <> 3 Or Target.Count > 1 Or (Target.Row < 4 Or Target.Row > 34) Then Exit Sub
If IsEmpty(Target) Then
  If MsgBox("Confirmer la suppression?", vbYesNo + vbQuestion, "SUPPRIMER") = vbYes Then
    ActiveSheet.Unprotect
    Application.EnableEvents = False
    Target.Resize(, 11).ClearContents
    Application.EnableEvents = True
    ActiveSheet.Protect
    Else
    Exit Sub
  End If
End If
Cordialement.

Edit: oups, encore grillé. Salut Philippe.
 

kinel

XLDnaute Occasionnel
Re : confirmation code par msgbox

bonsoir à tous

merci pour toutes ces propositions
j'ignorais la compétition:eek:

j'ai encore un soucis; en cas de réponse "non" ces codes n'effacent pas la ligne, c'est bien mais la cellule 3 est effacée quand même
l'idéal est que la réponse "non" n'efface rien

merci de votre aide

Kinel
 

Papou-net

XLDnaute Barbatruc
Re : confirmation code par msgbox

RE:

Ci-joint un fichier exemple.

J'ai rajouté une variable "Cel" dans le module "Feuil1" qui récupère la valeur de la cellule lors d'un changement de sélection. Ca m'a conduit à créer la procédure "Worksheet_SelectionChange", dans ce même module.

Cordialement.
 

Pièces jointes

  • Exemple kinel.xls
    28 KB · Affichages: 53

Discussions similaires

Statistiques des forums

Discussions
312 276
Messages
2 086 711
Membres
103 377
dernier inscrit
fredy45