Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

confirmation code par msgbox

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

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
 
Re : confirmation code par msgbox

Bonjour,

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

Sinon:

Code:
If MsgBox("Supprimer......",vbYesNo+vbInterrogation)=vbYes then
   'Code de suppression
End If

A+
 
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
 
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.
 
Re : confirmation code par msgbox

bonsoir à tous

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

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

- 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
3
Affichages
643
Réponses
33
Affichages
3 K
D
Réponses
2
Affichages
1 K
Dafaka7
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…