"Ne contient pas" la fonction VBA

Je cherche un moyen d'append un critère "Ne contient pas" à une string. Je veux qu'il trouve une string qui soit Numérique, a une longueur de 9 caractères et ne contient pas de période "."

J'ai regardé sur le Web, mais j'ai trouvé des filters pour une feuille de calcul complète, ou des filters, ou des arrays, pas pour ne contient pas un caractère spécifique.

Cette partie fonctionne:

If IsNumeric(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) _ And Len(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) = 9 Then 

Mais j'aimerais dire ceci:

 If IsNumeric(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) _ And Len(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) = 9 _ and Doesnotcontain "." Then 

Quelle serait la syntaxe appropriée? Merci!

Essayez la fonction Instr ():

 If IsNumeric(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) _ And Len(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10)) = 9 _ and Instr(Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10), ".") = 0 Then 

Je remarque que votre exemple ne cherche pas un «mot», mais examine une string de 10 caractères maximum et assure exactement neuf (9) numbers. Si c'est ce que vous désirez, alors le travail suivant devrait fonctionner:

EDIT: Simplifiez le code

 S = Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10) If S Like "#########" Then ... Your Routine ... End If 

ou même:

 If Left(Right(wordDoc.Paragraphs(j).Range.Text, 11), 10) Like _ "#########" Then ... Your Routine ... End If 

Le cas général de find un "ne contient pas" consiste à utiliser la fonction InStr, à tester la string et à searchr une valeur de return de zéro (0). Bien que parfois, si la valeur «ne contient pas» est complexe, il faut tenir count de l'utilisation d'expressions régulières.