Definir de manière simple un ensemble de carractères sous forme de variable

manu_tella

XLDnaute Junior
Bonjour,

je cherche a definir de manière simple un ensemble de carractères.
Je n'arrive pas à mes fins...quelqu'un peut-il m'aiguiller?

' Je declare A
Dim A As String
...
' Je liste les valeurs que peut prendre A
A = "!?,.;:()' 1234567890+-*=/€£$%[]"
...
'Je cherche a arreter le code lorsque je rencontre 1 des carractères defini dans la liste
If Right(CollWord(x), 1) = A Then Exit sub
else.....

Mais voila, ca fonctionne pas....

un coup de main?

d'avance merci
 

kingfadhel

XLDnaute Impliqué
Re : Definir de manière simple un ensemble de carractères sous forme de variable

Bonjour manu_tella,
ta demande n'est pas bien claire, mais pour la liste de valeurs doit être dans un tableau
comme suit:

Code:
Dim monTableau(1 To 27)
  monTableau(1) = "!"
  monTableau(2) = "?"
  monTableau(3) = ","
  monTableau(4) = "."
  monTableau(5) = ";"
  monTableau(6) = ")'"
  monTableau(7) = "1"
  monTableau(8) = "2"
  monTableau(9) = "3"
  monTableau(10) = "4"
  monTableau(11) = "5"
  monTableau(12) = "6"
  monTableau(13) = "7"
  monTableau(14) = "8"
  monTableau(15) = "9"
  monTableau(16) = "0"
  monTableau(17) = "+"
  monTableau(18) = "-"
  monTableau(19) = "*"
  monTableau(20) = "="
  monTableau(21) = "/"
  monTableau(22) = "€"
  monTableau(23) = "£"
  monTableau(24) = "$"
  monTableau(25) = "%"
  monTableau(26) = "["
  monTableau(27) = "]"
  
  v = Right(CollWord(x), 1)
  If IsError(Application.Match(v, monTableau, 0)) Then
    MsgBox "Non trouvé"
  Else
    MsgBox "Trouvé"
  End If



il faut mettre ton classeur en pièce joint pour mieux venir à ton aide.
 

manu_tella

XLDnaute Junior
Re : Definir de manière simple un ensemble de carractères sous forme de variable

Bonjour,

Pour le moment, je n'ai pas de classeur, je griffonne sur vba pour comprendre.
je veux recuperer dans word des chaines de carractères séparées par des espaces et les recopier dans excel...
Mais, il y a des carracteres que je ne souhaite pas recuperer (ceux de la liste A).
Je souhaite donc identifier ces carractères sous vba et passer à la chaine suivante.

merci d'avance.

manu
 

Modeste geedee

XLDnaute Barbatruc
Re : Definir de manière simple un ensemble de carractères sous forme de variable

Bonsour®

Dim Idx As Integer
Dim MaChaine As String
MaChaine = "!?,.;)' 1234567890+-*=/€£$%[]"
...
For Idx=1 to Len(CollWord(x)) : If Instr(collWord(x), Mid(MaChaine,Idx,1))<>0 Then Exit Sub : Next
...
 

manu_tella

XLDnaute Junior
Re : Definir de manière simple un ensemble de carractères sous forme de variable

re,

merci pour ce bout de code je n'arrive pas à l'integrer aussi facilement.
En fait l'idée c'est d'eviter de compliquer mon code...

If Right(CollWord(x), 1) = "," Or Right(CollWord(x), 1) = "]" Or Right(CollWord(x), 1) = ")" ...
je voudrais juste declarer une variable A = "!?,.;)' 1234567890+-*=/€£$%[]" et n'avoir juste dans le coeur du code que:
If Right(CollWord(x), 1) (appartient à) A ...

le hic c'est "appartient à" ca marche pas dans VBA :D
 

Discussions similaires

M
Réponses
9
Affichages
478
Maikales
M

Statistiques des forums

Discussions
312 338
Messages
2 087 403
Membres
103 536
dernier inscrit
komivi