IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

case sur une partie de chaine de caractère


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 243
    Points : 120
    Points
    120
    Par défaut case sur une partie de chaine de caractère
    Bonjour,

    je voudrai tester une variable "nom_fic" de type string de manière inexacte (sur une partie seulement du contenu de la variable) à l'aide d'une instruction select case.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select Case nom_fic
    Case "*Log*"
    [instruction]
    ...
    end select
    Je n'arrive pas à vérifier mes "case" pourtant les extraits de variable que j'utilise sont corrects

    Si j'utilise un test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if nom_fic like "*Log*" then...
    ca marche.

    Un petit conseil...

    Merci

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    La fonction InStr() renvoie la position d'une chaine dans une autre chaine si elle existe.

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 243
    Points : 120
    Points
    120
    Par défaut
    Merci pour la réponse, mais je ne souhaite pas préciser la position de la chaine de caractère d'autant que celle ci peut varier avec les valeurs de la variable.
    Tant pis, j'utiliserai des test if/end if.

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Quand tu dis

    je voudrai tester une variable "nom_fic" de type string de manière inexacte (sur une partie seulement du contenu de la variable)
    tu veux faire quoi exactement ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    L'utilisation de instr() te renvoies la position d'une chaîne dans une autre, donc par déduction si la valeur renvoyée est différente de 0 ta chaîne existe, sinon non.
    Ce que Pc75 te propose d'utiliser c'est cette propriété et non la valeur elle même.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select Case nom_fic
    Case instr(1,nom_fic ,"Log")
    [instruction]
    ...
    end select
    devrait tout à fait répondre à ton besoin.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2006
    Messages
    243
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 243
    Points : 120
    Points
    120
    Par défaut
    D'accord,
    Je vais peut être en rester aux if/end if.
    Ce que je voulais dire c'est que si dans "jonathan" tu as "jon" alors tu fais...
    Mais ca peut toujours servir (pour des test sur un grand nombre de valeurs... ).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Case instr(1,nom_fic ,"Log")
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Select case sur une partie d'une chaine de caractere
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/01/2012, 15h16
  2. Transformer une partie de chaine de caractère en majuscule.
    Par DelphLaga dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 14/05/2007, 14h00
  3. Récuperer une partie de chaine de caractère
    Par lolo_bob2 dans le forum Access
    Réponses: 6
    Dernier message: 06/07/2006, 18h34
  4. Réponses: 7
    Dernier message: 21/06/2006, 16h42
  5. Remplacer une PARTIE de chaine de caractères dans un champ
    Par Turlututuchapopointu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 07/08/2005, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo