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

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

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
 

Iznogood1

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

Piaf79

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

Iznogood1

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

  • Demo.xlsm
    15.2 KB · Affichages: 39
  • Demo.xlsm
    15.2 KB · Affichages: 40

13GIBE59

XLDnaute Accro
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 :

 

Iznogood1

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

Tout dépend de comment est déclenché le code.

Si on détecte l’événement "Change", il suffit d'utiliser "target"
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
613
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…