Fonction chr

voilà mon problème de syntaxe :

dans la ligne :

if left(text1 1)=chr(65) or left(text1,)=chr(69) or, etc( pour une dizaine de code ascii)
comment éviter la répétition de left(text1,1) à chaque fois, ça fait un peu lourd.
merci de votre aide

3 réponses

  1. J'ai trouvé encore plus simple

      Dim LT1
      LT1 = Left(Text1, 1)
     
       Select Case LT1
          Case Is = Chr(65), Chr(69), Chr(73), Chr(79), Chr(85), Chr(140), Chr(200), Chr(201), Chr(202)
      End Select


    je pense que les virgules font office de OR

    j'ai raison ?

    en tout cas ça marche aussi

    merci tout le monde

    1. J'ai trouvé ça

      Dim LT As String
       LT = Left(Text1, 1)
         
         Select Case LT
            
      Case Is = Chr(65)
              M = MsgBox("résolu ?") 'essai
      
            Case Is = Chr(69)
              M = MsgBox("c'est bon ! ") 'essai
       
       'case is =   etc
        
      End Select


      Ca marche et c'est plus clair !

      Merci jee pee
      1. Modérateur
        Bonjour,

        Je ne fais pas de VB/VBA ;-) mais quand on cherche autour de ce sujet, en pensant à des solutions comme
        if a in (1,2,5)
        ou
        if a=1 or 2 or 5
        on trouve que ces syntaxes ne sont pas prises en compte.

        Par contre on trouve une solution avec
        select case a
        ou un
        if Instr()
        qui semble plus ardu : https://stackoverflow.com/questions/32503099/how-to-check-against-a-list-of-values-in-an-if-statement

        Si cela peut te donner une piste ...
        1. Modérateur
          En VB6/VBA, tu as au moins 2 méthodes :
          - Soit utiliser Instr (pour rechercher ton caractères dans une autre chaine)
          - Soit mettre la valeur obtenue par ton Left(..) dans une variable tampon pour n'utiliser que cette variable dans ton IF.

          Et à la place de chr pour ces codes, préfères utiliser le caractère directement : 65-> A 69 ->E, ... Ce sera plus facilement lisible sir le but est de trouver le caractère.