IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-02] Contrôler que la valeur correspond à une séquence précise de signes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Par défaut [E-02] Contrôler que la valeur correspond à une séquence précise de signes
    Bonjour,

    je veux contrôler la valeur d'une cellule et je veux que de l'alphabétique.

    je lève une erreur si j'ai un caractère en numérique.

    je ne sais pas comment effectuer cette vérification.

    merci d'avance
    Via

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    analyse ce que fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Command1_Click()
      MsgBox coucou("abé")
      MsgBox coucou("yré1 c")
    End Sub
     
     
    Private Function coucou(machaine As String) As Boolean
      If Not machaine Like "*#*" Then coucou = True
    End Function

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Par défaut
    ok, je comprend ce que tu fais mais je ne comprend pas pourquoi tu as ca comme expression de test "*#*" ???

    merci
    Via

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    "*" => "N'importe quoi
    "#" => Un chiffre
    "*" => "N'importe quoi
    Donc, si tu as un chiffre parmi deux n'importe quoi, le chiffre est découvert et la proposition est vrai. Donc, si "Not la condition" il n'y a pas de chiffre
    viavba, via VBA, regarde l'aide en ligne à Like, tu auras une meilleure explication


    Désolé ucfoutu, je n'ai pas voulu me priver de ce plaisir

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Par défaut
    ok j'ai compris avec l'aide mais je n'arrive pas a faire exactement ce que je veux.

    voila la complication que j'ai, je travail sur des numeros ISIN.

    leur formats est de 12 carateres, dont les 2 premiers sont alpha et les 10 autres sont numeriques.

    et donc voila ou j'en suis et ca ne fonctionne pas pour la 3 eme expressions qui devrais me donner faux alors que ca me renvoie vrais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Sub Command1_Click()
      MsgBox coucou("abé")
      MsgBox coucou("FR1234567890")
      MsgBox coucou("011234567890")
      MsgBox coucou("FR12345678")
      MsgBox coucou("01azertyuiop")
     
    End Sub
     
     
    Private Function coucou(machaine As String) As Boolean
        Zonealpha = Left(machaine, 2)
        If Len(machaine) <> 12 Then
            Exit Function
        End If
        'compter le nombre de caracter
        ZoneNum = Right(machaine, 10)
        If ZoneNum Like "##########" Then
            coucou = True
        Else
            Exit Function
        End If
        If Not Zonealpha Like "#" Then
            coucou = True
        Else
            coucou = False
        End If
    End Function
    merci d'avance
    Via

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 63
    Par défaut
    oui tu as raison, mais je ne pensais avoir autant de difficulté pour la suite.

    par contre j'ai donnée ce que je voulais reelement faire

    maintenant je peux poste dans un autre topic s'il le faut
    Citation Envoyé par viavba Voir le message
    voila la complication que j'ai, je travail sur des numeros ISIN.

    leur formats est de 12 carateres, dont les 2 premiers sont alpha et les 10 autres sont numeriques.

    et donc voila ou j'en suis et ca ne fonctionne pas pour la 3 eme expressions qui devrais me donner faux alors que ca me renvoie vrais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/09/2014, 07h41
  2. [AC-2007] MsgBox indiquant que la valeur d'une zone de texte existe déjà
    Par Oxopor dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 19/06/2011, 22h39
  3. [XL-2003] recopier des valeurs correspondant à une donnée
    Par spico45 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/02/2010, 11h51
  4. Réponses: 10
    Dernier message: 23/10/2006, 09h43
  5. Autant de formulaires que la valeur d'une variable
    Par suolan dans le forum Langage
    Réponses: 5
    Dernier message: 12/05/2006, 14h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo