Syntaxe

Résolu/Fermé
LULU - Modifié le 31 juil. 2020 à 15:48
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 31 juil. 2020 à 19:43
Bonjour,
simple problème de syntaxe
voilà ce qui me gêne :

For Each TextBox In Form1
  If Left(TextBox, 1) = Chr(65) Then
  M = MsgBox("lili") '' ceci est  un essai
  End If
 Next


comment ajouter dans la ligne 2 tout les autres chr qui m'interresse sans avoir à répéter toute
le début de la ligne : If Left(TextBox, 1) = Chr(x) or if left............=chr(y) or...... etc ?
Merci de m'aider,jesuis débutant.

4 réponses

Fulsten Messages postés 214 Date d'inscription samedi 19 mars 2011 Statut Membre Dernière intervention 31 juillet 2020 55
31 juil. 2020 à 15:28
Bonjour,

Si les nombres se suivent (Chr(65) , Chr(66), ...) il est possible de borner via >= et <=.
Autrement, telle quelle, je ne vois pas de solution pour faciliter l'écriture. Peut être voir plutôt du coté de la conception.
1
Malheureusement les chiffres ne se suivent pas.
Je cherchais simplement de la concision pour la Lecture/Relecture du code.
Quand à l'aspect conception je vais y réfléchir.

Merci de ton info
1
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
Modifié le 31 juil. 2020 à 15:52
B'jour,
En boucle...
Const IndicesTextB As String = "12:15:19:64:457"
Dim i As Integer, Ind As Variant
    Ind = Split(IndicesTextB, ":")
    For Each TextBox In Form1
        For i = 0 To UBound(Ind)
            If Left(TextBox, 1) = Chr(Ind(i)) Then
                M = MsgBox("lili") '' ceci est  un essai
            End If
        Next
    Next


1
Merci pijaku

J' en ai fait une fonction,il fallait que je place ça plusieurs fois.
Ca marche !

Bonne jornée
1
yg_be Messages postés 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551
31 juil. 2020 à 19:43
bonjour, peux-tu alors marquer la discussion comme résolue?
0