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 :

Lister des mots interdits [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut Lister des mots interdits
    Bonjour,

    Comment faire pour créer une liste de mots interdits ?

    Je voudrais qu'à la sortie d'un textbox excel vérifie si certains mots sont présents.
    J'ai le code pour réaliser l'opération avec un mot
    Exemple : si textbox contient "jour" alors ...

    mais pas avec plusieurs sans faire plusieurs if
    exemple : si textbox contient "jour", "nuit", "matin" alors ...


    Je pense qu'il faut déclarer une variable mais je n'y arrive pas.
    J'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim interdit as string
    interdit = "jour", "nuit", "matin", ...
     
    if textbox1 <> interdit then ...
    Mais bien sûr ça ne fonctionne pas

    Merci

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim interdit As String
    interdit = "jour|nuit|matin"
     
    If TextBox1 <> "" Then
        If InStr(interdit, TextBox1) = 0 Then
    '....
        End If
    End If

  3. #3
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut
    Le code fonctionne s'il n'y a qu'un seul mot dans le textbox.
    Le problème est que mon textbox peut contenir plusieurs mot.
    J'ai oublié de la préciser dans le premier message.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Dim Elem As Variant, Interdit As Variant
    Dim Existe As Boolean
     
    Interdit = Array("jour ", "nuit ", "matin ")
     
    If TextBox1 <> "" Then
        For Each Elem In Interdit
            If InStr(TextBox1, Elem) <> 0 Then
                Existe = True
                Exit For
            End If
        Next Elem
        If Not Existe Then
            '...
        End If
    End If

  5. #5
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Le TextBox ne doit pas contenir les mots interdits ou ne doit pas être remplit avec seulement un des mots interdits. i.e est-ce que "nuit blanche" doit être accepté ou pas ?
    1er cas :
    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
    Dim listMotsInterdits() As String
    listMotsInterdits = Array("jour", "nuit", "matin")
    Dim mot As String
    Dim ok As Boolean
     
    ok = True
     
    Dim i As Integer
    For i = 0 To UBound(listMotsInterdits)
        mot = listMotsInterdits(i)
        If InStr(TextBox1, mot) > 0 Then
            ok = False
        End If
    Next i
     
    If ok Then
        'Le code
        '...
    End If
    2ème cas
    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
    Dim listMotsInterdits() As String
    listMotsInterdits = Array("jour", "nuit", "matin")
    Dim mot As String
    Dim ok As Boolean
     
    ok = True
     
    Dim i As Integer
    For i = 0 To UBound(listMotsInterdits)
        mot = listMotsInterdits(i)
        If TextBox1 = mot Then
            ok = False
        End If
    Next i
     
    If ok Then
        'Le code
        '...
    End If

  6. #6
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut
    Bonsoir,

    "Nuit blanche" ne doit pas être acceptée.

    Merci

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

Discussions similaires

  1. lister des dossiers dans un ComboBox
    Par taulmaril dans le forum Windows
    Réponses: 7
    Dernier message: 01/05/2004, 15h31
  2. Comment changer des mots dans un fichier?
    Par ptitbonum dans le forum Linux
    Réponses: 5
    Dernier message: 08/04/2004, 00h42
  3. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 15h26
  4. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 23h16

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