Macro vérification valeur saisie

slaurent01

XLDnaute Junior
Bonsoir le forum,

J'ai un problème que je n'arrive pas à solutionner et j'ai besoin de votre aide.
Je veux insérer une macro sur ma feuille "Devis" qui affiche un message d'alerte si la valeur saisie en "B6" est supérieur à 1 000 000.

Code:
Private Sub worksheets_SelectionChange(ByVal Target As Range)
'on définit la variable à contrôler
Dim Valeur As Long
Valeur = ThisWorkbook.Worksheets("Devis").Range("b6").Value

'Si la valeur est supérieure à 1 000 000 afficher le message d'alerte
If Valeur > 1000000 Then
    If MsgBox("La quantité est-elle réellement supérieure ou égale à 1 000 0000 Etiquettes? ", vbQuestion + vbYesNo, "Attention  !") = vbYes Then
    'si la réponse est oui sortir de la macro
    Exit Sub
    Else
    'retourner sur la cellule b6
    Valeur.Select
    End If
Else
Exit Sub
End If
End Sub

Cette macro ne marche pas. je vous remercie par avance pour votre aide
Cordialement
Stephane
 

ROGER2327

XLDnaute Barbatruc
Re : Macro vérification valeur saisie

Bonjour slaurent01


Essayez cela :​
VB:
Private Sub Worksheet_Change(ByVal Cible As Range)
    If Cible.Address(0, 0) = "B6" And Cible.Value >= 1000000 Then
        If MsgBox("La quantité est-elle réellement supérieure ou égale à 1 000 0000 d'étiquettes ?", vbQuestion + vbYesNo, "Attention  !") = vbNo Then Cible.Select
    End If
End Sub


ROGER2327
#6357


Dimanche 8 Décervelage 140 (Saint Bordue, Capitaine - fête Suprême Tierce)
16 Nivôse An CCXXI, 9,1729h - silex
2013-W01-6T22:00:54Z
 

job75

XLDnaute Barbatruc
Re : Macro vérification valeur saisie

Bonjour slaurent01, salut Roger :)

La macro du post #2 beugue si Cible est une plage de plusieurs cellules.

Par exemple sélectionnez B6:B7 et appuyez sur la touche <Suppr>...

Grâce à Cible(1) ceci ne beuguera pas :

Code:
Private Sub Worksheet_Change(ByVal Cible As Range)
If Cible.Address(0, 0) = "B6" And Cible(1).Value >= 1000000 Then
  If MsgBox("La quantité est-elle réellement supérieure ou égale à 1 000 0000 d'étiquettes ?", vbQuestion + vbYesNo, "Attention  !") = vbNo Then Cible.Select
End If
End Sub
Perso je préfère :

Code:
Private Sub Worksheet_Change(ByVal Cible As Range)
If Not Intersect(Cible, [B6]) Is Nothing And [B6] >= 1000000 Then _
  If MsgBox("La quantité est-elle réellement supérieure ou égale à 1 000 0000 d'étiquettes ?", 4, "Attention  !") = 7 Then [B6].Select
End Sub
A+
 

slaurent01

XLDnaute Junior
Re : Macro vérification valeur saisie

bonsoir le forum,

Bonsoir job75, et un grand merci. Tu m'as devancé :). Effectivement j'ai eu ce problème et je galèrais pour trouver une solution.
Je me connecte pour demander de l'aide et j'ai déja la réponse !!! c'est merveilleux. grâce à vous tous et vos différentes aides que vous m'avez apporté j'ai pu progresser dans excel et le vba.

Bonne soirée
cordialement
stéphane
 

Discussions similaires

Réponses
7
Affichages
239
Réponses
3
Affichages
594
Réponses
6
Affichages
272

Statistiques des forums

Discussions
312 534
Messages
2 089 383
Membres
104 152
dernier inscrit
sabalex