Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/11/2011, 13h51   #1
Invité régulier
 
Inscription : février 2011
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 50
Points : 7
Points : 7
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 :
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
AidezMoiSvp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 13h55   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/11/2011, 14h01   #3
Invité régulier
 
Inscription : février 2011
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 50
Points : 7
Points : 7
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.
AidezMoiSvp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 14h17   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/11/2011, 14h18   #5
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

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

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 861
Points : 1 861
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 :
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 :
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
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2011, 17h39   #6
Invité régulier
 
Inscription : février 2011
Messages : 50
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 50
Points : 7
Points : 7
Bonsoir,

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

Merci
AidezMoiSvp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h39.


 
 
 
 
Partenaires

Hébergement Web