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

Message dans une box

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

aziz

XLDnaute Occasionnel
Bonsoir à tous et au forum

Lors de ma saisie et si je me trompe , Je souhaiterai afficher un message
"Attention le lot ne correspond à votre produit"
dans mon exemple le code produit est les deux dernier chiffre : 09
et apres mon message d'alerte je souhaite effacer le numéro erroner
pour ensuite le ressaisir


Merci pour votre aide
 

Pièces jointes

Re : Message dans une box

Bonsoir
dans mon fichier le numéro de lot doit toujours finir par 09
ex: 2014080709
si on saisie 2014080710 je souhaite avoir un message qui me dit qu'il y a une erreur
j'espere avoir été clair.
merci pour ton aide
 
Re : Message dans une box

Bonjour, aziz, le Forum, bonjour + bises, JCGL 😀,

Un essai avec ce code, placé dans le module de l'onglet :

VB:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    Application.EnableEvents = False
    If c.Row > 1 And c.Column = 2 Then
        If Right(c, 2) <> 9 Or Len(c) <> 10 Then c.Clear: MsgBox "Attention le lot ne correspond à votre produit": c.Select
    End If
    Application.EnableEvents = True
End Sub

A bientôt 🙂
 
Re : Message dans une box

bonjour à vous deux et merci pour votre aide
J'ai repris la soluce de doublezero qui fonctionne très bien,
mais contre quand j'essaye de l'appliqué dans mon fichier Monty
j'ai une erreur de compil.
Merci encore pour votre aide
 

Pièces jointes

Re : Message dans une box

Bonjour Natorp,
je souhaite conserver mon controle de doublon en colonne A
et rajouter cette vérification en colonne B.

Merci pour votre aide
Voici le code :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

'colonne à "surveiller" (ici colonne A)
If Target.Column = 1 And Target.Count = 1 Then

' pour vérifier si la saisie n'existe pas déjà dans les lignes précédentes
' If Application.WorksheetFunction. _
' CountIf(Range(Cells(2, 1), _
' Cells(Target.Row, 1)), Target.Value) > 1 Then

' pour vérifier si la saisie n'existe pas déjà dans la colonne
If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) > 1 Then

MsgBox "Numéro déjà utilisé -- Try again"
Target.Value = ""
Target.Select
End If
End If
End Sub
-------------------------------------------------------
Private Sub Worksheet_Change(ByVal c As Range)
Application.EnableEvents = False
If c.Row > 1 And c.Column = 2 Then
If Right(c, 2) <> 9 Or Len(c) <> 10 Then c.Clear: MsgBox "Attention le lot ne correspond à votre produit": c.Select
End If
Application.EnableEvents = True
End Sub
 
Re : Message dans une box

Re-bonjour, bonjour, natorp,

je souhaite conserver mon controle de doublon en colonne A
et rajouter cette vérification en colonne B

Pour le cumul de deux Private Sub Worksheet_Change, peut-être ainsi :

VB:
Private Sub Worksheet_Change(ByVal c As Range)
    Application.EnableEvents = False
    If c.Row > 2 And c.Column = 1 And c.Count = 1 Then
        If Application.WorksheetFunction.CountIf(Range("A:A"), c.Value) > 1 Then c.Clear: MsgBox "Numéro déjà utilisé -- Try again": c.Select
    End If
    If c.Row > 1 And c.Column = 2 Then
        If Right(c, 2) <> 9 Or Len(c) <> 10 Then c.Clear: MsgBox "Attention le lot ne correspond à votre produit": c.Select
    End If
    Application.EnableEvents = True
End Sub

A bientôt 🙂
 
Re : Message dans une box

Bonjour à tous et au Forum, Hello Double zero
J'ai une autre question ?
La formule fonctionne très bien. Lorsque ma saisie est erronée j'ai donc mon ou mes messages d'erreurs
et la je souhaiterai que ma cellule controlée conserver la même mise en forme:
ARIAL 7 centrée Horizontalement et Verticalement.

Merci pour ton aide
bonne Journée
 
Re : Message dans une box

Bonjour, le Fil, le Forum,

Peut-être ainsi :

VB:
Option Explicit
Private Sub Worksheet_Change(ByVal c As Range)
    Application.EnableEvents = False
    If c.Row > 2 And c.Column = 1 And c.Count = 1 Then
        If Application.WorksheetFunction.CountIf(Range("A:A"), c.Value) > 1 Then c.Clear: MsgBox "Numéro déjà utilisé -- Try again": c.Select
    End If
    If c.Row > 1 And c.Column = 2 Then
        If Right(c, 2) <> 9 Or Len(c) <> 10 Then c.Clear: MsgBox "Attention le lot ne correspond à votre produit": c.Select
    End If
    With Range("b3:b" & Cells(Rows.Count, 2).End(xlUp).Row): .Font.Size = 7: .VerticalAlignment = xlCenter: .HorizontalAlignment = xlCenter: End With
    Application.EnableEvents = True
End Sub

A bientôt 🙂
 
- 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

L
Réponses
2
Affichages
1 K
Laurent_7
L
L
  • Question Question
Réponses
5
Affichages
899
D
Réponses
1
Affichages
766
D
T
Réponses
3
Affichages
2 K
Trapipo
T
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…