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

M

Marie30

Guest
Bonjour à tous,

Je débute sous vba et je souhaiterai éviter les erreurs sur mon fichier via vba; cad éviter à l'utilisateur de rentrer dans la cellule F5 autre chose qu'un numéro commencant par "BC" et comprenant : soit 10 caractères soit 14 exactement.

Ex : BC01XX0123 mais parfois c'est aussi BC01XX0123-001


J'ai donc pensé à

Code:
Sub test 

Dim B as string

B = Range("F5")
If Not Len(B) = 10 Then
    If Not Len(B) = 14 Then
        If Left(B, 2) <> "BC" Then
                MsgBox ("Numéro de commande incorrect")
                Exit Sub
        End If
    End If
End If

Mais ça ne marche pas ... la procédure continue ...

QQun peut il m'aider ?

Merci à tous

Marie
 
Re : Pb macro

Bonjour Marie

essaye le code ci-dessous, à placer dans le module de la feuille concernée, procédure événementielle, se déclenche lors des modifications sur la feuille, attention sensible à la casse, teste BC en majuscules, si tu veux autoriser les minuscules utiliser la fonction "UCase" :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Static b As Boolean
If Target.Address <> "$F$5" Or b Then Exit Sub
If Not Target Like "BC*" Or (Len(Target) <> 10 And Len(Target) <> 14) Then
    b = True
    Target = ""
    MsgBox "saisie invalide !!!"
End If
b = False
End Sub

bonne soirée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
732
Réponses
4
Affichages
586
Retour