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

Macros et VBA Excel Discussion :

VBA - utilisation de 'not like'


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 64
    Points : 58
    Points
    58
    Par défaut VBA - utilisation de 'not like'
    Bonjour,

    Je souhaiterais utiliser une fonction qui détecte si une variable ne contient pas le caractère "[" et sortir de la boucle for (elle englobe la boucle si en fait) si la variable ne contient pas le crochet.

    Je suis donc partie sur la formule suivante, n'ayant pas réussi à faire le "not like" (là aussi je suis preneur )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If strCherche Like "*[*" Then
    Else
    Exit For
    End If
    Mais cette formule tourne mais ne marche pas, le crochet n'étant pas détecté.
    L'aide dit qu'il faut mettre les crochets (et autres caractères spéciaux) entre crochets, mais j'ai essayé différentes mises entre crochets... en vain.

    Si qqn a une idée ou solution, je suis preneur.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if instr(strCherche ,"[")=0 Then

  3. #3
    Invité
    Invité(e)
    Par défaut
    Mais cette formule tourne mais ne marche pas, le crochet n'étant pas détecté.
    L'aide dit qu'il faut mettre les crochets (et autres caractères spéciaux) entre crochets, mais j'ai essayé différentes mises entre crochets... en vain.
    Effectivement.
    Essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        Dim strCherche As String
        strCherche = "ab[ba"
        Dim i As Long
     
        For i = 1 To 2
            If strCherche Like "*[[]*" Then
                ' OK
                MsgBox "OK"
            Else
                ' Quitte la boucle
                Exit For
            End If
        Next
    ... en encadrant ton caractère spécial par un crochet fermant/ouvrant.

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Je mettrai quand meme l'argument vbTextCompare en plus dans ta fonction Robert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if instr(strCherche ,"[",vbTextCompare)=0 Then
    sait-on jamais
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Invité
    Invité(e)
    Par défaut J'Acquiesce!
    Citation Envoyé par illight Voir le message
    Je mettrai quand meme l'argument vbTextCompare en plus dans ta fonction Robert

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if instr(strCherche ,"[",vbTextCompare)=0 Then
    sait-on jamais

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    Merci pour vos réponses.

    Après tests, j'ai retenu la réponse de Nouveau2 qui marche très bien (c'était pas si difficile au finale ).

    Pour instr, cela ne semble pas reconnaître le crochet, ça marque "type incompatible "quand on éxécute la macro au pas à pas, avant de faire planter celle-ci.

  7. #7
    Membre expérimenté
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Points : 1 499
    Points
    1 499
    Par défaut utilisation de instr
    Bonsoir,

    La fonction Instr marche très très bien avant acquiescement

    Pour preuve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub recherche()
     
     Dim strCherche As String
        strCherche = "ab[ba"
        Dim i As Long
     
        For i = 1 To 2
            If InStr(strCherche, "[") <> 0 Then
                MsgBox InStr(strCherche, "[")
            Else
                ' Quitte la boucle
                Exit For
            End If
        Next
    End Sub
    renvoie un superbe "3"

    Cordialement,

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 64
    Points : 58
    Points
    58
    Par défaut
    Ah oui parfait également, je préfère d'ailleurs cette manière de l'écrire (...) et l'utilise dorénavant

    Merci pour l'aide !

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

Discussions similaires

  1. Utilisation spéciale de LIKE
    Par tonyskn dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/07/2024, 16h08
  2. Utiliser LIKE et NOT LIKE
    Par thehurrica dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 12/05/2010, 18h15
  3. [VBA] utilisation de thread
    Par nemesys971 dans le forum VBA Access
    Réponses: 19
    Dernier message: 10/10/2008, 10h49
  4. [VBA] utiliser une macro contenue dans un autre classeur
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 01/02/2006, 18h46
  5. [EXCEL][VBA] Utilisation des formules Excel en VBA
    Par Amanck dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/12/2005, 15h08

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