vbOKOnly effacer cellule active après clic sur "OK"

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

Piaf79

XLDnaute Junior
Bonjour à tous,

Dans un code vba à plusieurs conditions, j'ai un déclenchement d'un MsgBox (cf code si-dessous).
Je souhaiterai que la valeur de la cellule active soit effacée quand on clique sur le bouton OK du MsgBox.

Pouvez vous m'aider ?
il me semble qu'il faut utiliser .ClearContents mais je ne sais pas comment le placer dans mon code vba.

Code:
Sub MesPerso(Art, Col)
         MsgBox "La quantité " & Art & " n'est pas respectée pour " & Cells(4, Col) & " " & Cells(3, Col), vbExclamation, "Module de gestion"
End Sub

Merci d'avance pour vos remarques.

Piaf79
 
Re : vbOKOnly effacer cellule active après clic sur "OK"

Bonjour

VB:
Sub MesPerso(Art, Col)
  MsgBox "La quantité " & Art & " n'est pas respectée pour " & Cells(4, Col) & " " & Cells(3, Col), vbExclamation, "Module de gestion"
  ActiveCell.ClearComments
End Sub
ou pour demander confirmation
VB:
Sub MesPerso(Art, Col)
  If MsgBox("La quantité " & Art & " n'est pas respectée pour " & Cells(4, Col) & " " & Cells(3, Col) & _
              vbCrLf & "Effacer la donnée ?", vbExclamation Or vbQuestion Or vbYesNo, "Module de gestion" = vbYes) Then ActiveCell.ClearComments
End Sub
 
Re : vbOKOnly effacer cellule active après clic sur "OK"

Bonsoir Iznogood1,
Bonsoir le forum,

J'ai essayé les deux codes que tu m'as transmis mais aucun des deux ne fonction avec mon fichier...
Je n'ai pas de message d'erreur pour le premier mais le chiffre saisi via une liste ne s'efface pas de la cellule active.

Piaf79
 
Re : vbOKOnly effacer cellule active après clic sur "OK"

En effet, j'ai tapé ClearComments au lieu de ClearContents !

Le bon code est
Code:
Sub MesPerso(Art, Col)
  MsgBox "La quantité " & Art & " n'est pas respectée pour " & Cells(4, Col) & " " & Cells(3, Col), vbExclamation, "Module de gestion"
  ActiveCell.ClearContents
End Sub
ou
Code:
Sub MesPerso(Art, Col)
  If MsgBox("La quantité " & Art & " n'est pas respectée pour " & Cells(4, Col) & " " & Cells(3, Col) & _
              vbCrLf & "Effacer la donnée ?", vbExclamation Or vbQuestion Or vbYesNo, "Module de gestion") = vbYes Then ActiveCell.ClearContents
End Sub
 

Pièces jointes

Re : vbOKOnly effacer cellule active après clic sur "OK"

Bonjour tout le monde,

Iznogoud, il me semble que ton code n'obtiendra pas l'effet désiré : en effet, après avoir entré une valeur sur la feuille (touche entrée), on se retrouve une cellule sous la valeur déterminée.L'active cell à supprimer n'est donc pas pas la bonne !
Il faut ajouter un offset :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D😀]) Is Nothing Then
If Not IsEmpty(Target) And Not IsEmpty(Target.Offset(0, -3)) Then
If Target.Value < Target.Offset(0, -2) Or Target.Value > Target.Offset(0, -1) Then
If MsgBox("La quantité " & Target.Value & " n'est pas respectée pour " & Target.Offset(0, -3).Value & _
vbCrLf & "Effacer la donnée ?", vbQuestion Or vbYesNo, "Module de gestion") = vbYes Then ActiveCell.Offset(-1, 0).ClearContents
End If
End If
End If
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

R
Réponses
2
Affichages
639
R
Réponses
3
Affichages
1 K
S
Réponses
13
Affichages
2 K
Stedemart
S
A
Réponses
0
Affichages
868
Ana30255
A
Retour