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 :

recherche d'une partie d'un mot exemple "requete"


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut recherche d'une partie d'un mot exemple "requete"
    Bonjour,

    Je souhaiterai pouvoir faire une recherche d'une partie d'un mot exemple "requete"
    parmi une liste de mot dans une même cellule.
    le petit problème c'est que "toto" peut figurer plusieurs fois dans la cellule.

    exemple de cellule:
    requete21 tatatt requete23 tty iuy uibiii
    j'aimerai qu'il détecte deux fois le mot "requete"

    en fait , j'ai une feuille j'ai un tableau qui regroupe une liste de requêtes (en ordonnée) et la liste des feuilles où l'on peut trouver une requête figurant dans le tableau. Ainsi faire une croix lorsqu'une requête (requete21, requete22,...) est trouvée.

    F
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    or IndiceTab = 0 To 268 '
    'Comparer les requêtes présentes dans une cellule par rapport aux requêtes du tableau à compléter
     
     If InStr(1, InputTrouveString, CompareDataString(IndiceTab)) = 1 Then
              OutputSheet.Cells(IndiceTab + 5, IndiceFeuil + 2 - position_onglet_matrice).Value = "V"
     End If
     
     Next IndiceTab
    Ce programme fonctionne bien si dans la liste de mots, d'une même cellule, il y a au moins une fois le mot requete.
    Mais il ne marche pas si il y a plus d'une fois le mot requete, c-a-d (voir exemple de liste ci-dessus) qu'il va trouver seulement "requete21" mais pas "requete23".

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 857
    Points : 28 777
    Points
    28 777
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Curieux, il m'avait semblé avoir répondu dans un autre post à la même question (déplacement de sujet ?).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub RechercheMot
      Dim txt As String, findStr As String
      txt = "requete21 tatatt requete23 tty iuy uibiii"
      findStr = "requete"
      Debug.Print Len(txt)
      'txt = Replace(txt, "requete", "")
      If InStr(txt, findStr) Then
        MsgBox "J'ai trouvé " & (Len(txt) - Len(Replace(txt, "requete", ""))) / Len(findStr) & " fois le mot " & findStr
      Else
        MsgBox "Je n'ai pas trouvé le mot " & findStr
      End If
    End sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    bonjour,
    ton code ne règle pas, je m'exlique:
    si j'ai requete2 et requete20, et que je recherche requete2, le code trouvera 2 fois la présence requete2 mais moi je souhaite qu'il la trouve 1 fois

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Tu n'as qu'à modifier ça en mettant un espace après le 2 :

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 857
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 857
    Points : 28 777
    Points
    28 777
    Billets dans le blog
    53
    Par défaut
    Citation Envoyé par Ratus888 Voir le message
    bonjour,
    ton code ne règle pas, je m'exlique:
    si j'ai requete2 et requete20, et que je recherche requete2, le code trouvera 2 fois la présence requete2 mais moi je souhaite qu'il la trouve 1 fois
    Excuse moi, mais ou bien je lis mal ou tu t'es mal exprimé.
    Il me semble que dans ta question initiale tu souhaitais justement le trouver 2 fois Non ?
    exemple de cellule:
    requete21 tatatt requete23 tty iuy uibiii
    j'aimerai qu'il détecte deux fois le mot "requete"
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [AC-2010] Liste déroulante modifiable, recherche une partie d'un mot
    Par e2r34 dans le forum IHM
    Réponses: 16
    Dernier message: 03/12/2023, 23h12
  2. [VB]recherche dans une partie d'un fichier texte
    Par malhivertman1 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 19/01/2006, 11h56
  3. Recherche d'une partie d'un champ texte
    Par Daniel MOREAU dans le forum Access
    Réponses: 2
    Dernier message: 13/01/2006, 18h04
  4. Recherche par une partie du champ
    Par safadev dans le forum Langage SQL
    Réponses: 2
    Dernier message: 31/10/2005, 14h20

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