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 :

DETECTER un mot clé dans une phrase saisi dans une même cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 78
    Par défaut DETECTER un mot clé dans une phrase saisi dans une même cellule
    Bonjour,

    Ce que je souhaite :
    Dans une base de données, sur la même colonne en décalant d’une cellule à chaque fois (boucle), je souhaiterais que VISUAL BASIC détecte si le mot clé est contenu dans cette cellule ou pas du tout. On peux trouver ce mot dans la barre de formule après peu de caractères, ou après un grand nombre de caractères.
    Dans l’exemple ci-dessous, je veux rechercher s’il y a bien le mot « lait » lorsque la cellule active est B2, ensuite cellule active B3, …

    EXEMPLE :
    Cellule B2 = le lait équitable
    Cellule B3 = j’aime danser
    Cellule B4 = j’aime boire du lait
    Pour la cellule B2, le mot clé se trouve à partir du 4ème caractère. Pour la cellule B3, le mot clé ne se trouve pas. Pour la cellule B5, le mot clé se trouve à partir du 17ème caractère.

    J’ai essayé avec la syntaxe , mais ça ne fonctionne pas.
      0  1

  2. #2
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Hello,
    tu peux utiliser la fonction InStr.

    par exemple :
    Si la cellule B2 contient "le lait équitable".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InStr(1, Range("B2").Value, "lait", vbTextCompare)
    va renvoyer la valeur 4.
    Le 1 indique qu'on commence les vérifications au premier caractère.
    Renvoie 0 si l’occurrence n'est pas trouvée.

    Si tu veux que la recherche soit sensible aux majuscules / minuscules, il faut utiliser comme dernier argument vbBinaryCompare à la place de vbTextCompare.

      0  0

  3. #3
    Membre confirmé
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 78
    Par défaut DETECTER UN MOT CLE
    Bonjour,
    tu rédiges ça comment dans VISUAL BASIC
    quand j'insère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InStr(1, Range("B2").Value, "lait", vbTextCompare)
    , VISUAL BASIC m'indique le message suivant :
    Erreur de compilation, Erreur de syntaxe
      0  0

  4. #4
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Par exemple comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub exemple()
        Dim i As Integer
     
        i = InStr(1, Range("B12").Value, "lait", vbTextCompare)
     
        MsgBox i
     
    End Sub
      0  0

  5. #5
    Membre confirmé
    Homme Profil pro
    Employé administratif
    Inscrit en
    Février 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Employé administratif

    Informations forums :
    Inscription : Février 2014
    Messages : 78
    Par défaut
    Dans l'exemple que tu m'a donné, ça renvoie 0. ça ne fonctionne pas
      0  0

  6. #6
    Membre chevronné Avatar de Filippo
    Homme Profil pro
    Statisticien
    Inscrit en
    Mai 2004
    Messages
    864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien

    Informations forums :
    Inscription : Mai 2004
    Messages : 864
    Par défaut
    Chez moi avec "le lait équitable" en B12 ça me renvoie bien 4.

    Vérifie en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Range("A12").Value
    que la fonction utilise bien "le lait équitable".
      0  0

Discussions similaires

  1. [Débutant] compter le nombre de caractères dans une phrase saisie
    Par gnamienbenedicte dans le forum C#
    Réponses: 3
    Dernier message: 25/04/2014, 13h53
  2. Réponses: 41
    Dernier message: 23/01/2014, 16h30
  3. Réponses: 3
    Dernier message: 06/12/2010, 15h59
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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