RESOLU Je ne parviens pas à sortir de mon MSGBOX OUI NON

chris6999

XLDnaute Impliqué
Bonjour le forum

J'ai un MSGBOX de type OUI / NON qui s'affiche lorsque je rentre une valeur dans la colonne M.

Le problème c'est que je n'arrive plus à en sortir ....et je ne parviens pas à comprendre pourquoi

Voici le code

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 13 Then

Select Case MsgBox("Souhaitez-vous clôturer le dossier", vbYesNo, "Clôture du dossier")
Case vbYes
Range("M" & Target.Row) = "X"
Case vbNo
Range("M" & Target.Row) = ""

End Select
End If

End Sub

Est-ce que quelqu'un saurait où se situe le problème?

Merci d'avance
Cordialement
 

Pièces jointes

  • TEST MSGBOX.xls
    47.5 KB · Affichages: 29
  • TEST MSGBOX.xls
    47.5 KB · Affichages: 28
  • TEST MSGBOX.xls
    47.5 KB · Affichages: 24
Dernière édition:

xhudi69

XLDnaute Accro
Re : Je ne parviens pas à sortir de mon MSGBOX OUI NON

Bonsoir chris6999, le Forum,

Ce serait mieux ainsi:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Range("M3:M2000"), Target) Is Nothing Then
Select Case MsgBox("Souhaitez-vous clôturer le dossier", vbYesNo, "Clôture du dossier")
Case vbYes
Target.Value = "X"
Case vbNo
Target.Value = ""
End Select
End If

End Sub

EDIT: Bonsoir Modeste

@+ :cool:
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Je ne parviens pas à sortir de mon MSGBOX OUI NON

Bonjour chris6999,

Chaque fois que tu modifies la valeur de la cellule, "à la main" ou par ton code, la procédure s'exécute et donc elle tourne en boucle!
Utilise "application.EnableEvents=False" avant de modifier la valeur de la cellule, dans ton code et n'oublie pas de re-basculer à True, une fois la modif réalisée.

Ceci dit, ça fait un peu bizarre de devoir encoder quelque chose dans la cellule pour se voir demander ensuite si on veut clôturer le dossier et inscrire un "X" (ou rien) dans la cellule!? Pourquoi ne pas travailler avec le double-cic sur cette même cellule?

Enfin, si Target est en 13e colonne, il s'agit de la colonne M ... "Range("M" & Target.Row) = ..." semble un peu superflu: "Target = ..." suffit!?

[Edit:] bonsoir xhudi69
 

chris6999

XLDnaute Impliqué
Re : Je ne parviens pas à sortir de mon MSGBOX OUI NON

Bonsoir

Merci cela fonctionne très bien avec application.EnableEvents=False
C'est vrai que ce code est un peu bizarre ... Je vais voir si je peux faire autrement.

Bonne soirée
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 752
Messages
2 091 661
Membres
105 037
dernier inscrit
Zazou75