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 :

Comment savoir si une cellule contient un mot particulier?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut Comment savoir si une cellule contient un mot particulier?
    Bonjour,

    J'ai par exemple dans trois cellules differentes:

    cellule A1: "Le_chat_est_dehors"
    cellule A2: "Le_chien_est_dedans"
    cellule A3:"L_oiseau_est_dans_la_cage

    Mes mots clés sont "chat" et "chien" donc en sortie je voudrais avoir:

    cellule B1: chat
    cellule B2: chien
    cellule B3: vide

    Merci.

    Steelk

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(CHERCHE("chat";A1)>0;"Chat";"Non trouvé")
    Citation Envoyé par aide Excel
    Si l'argument texte_cherché est introuvable, la fonction renvoie la valeur d'erreur #VALEUR!.
    Tu devrais pouvoir te débrouiller avec ça.

    En fait la valeur "Non trouvé" si la condition n'est pas satisfaite ne fonctionne pas ; c'est la valeur d'erreur #VALEUR! qui est renvoyée.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Par défaut
    Tu cherches une formule Excel (solution de CinéPhil) ou un code VBA ?

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Nous sommes ici sous VBA ===>> réponse VBA, donc :

    Voir cet exemple :

    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
    Private Sub Command1_Click()
      Dim toto As String, mot1 As String, mot2 As String
      mot1 = "chat"
      mot2 = "chien"
      toto = "Le_chat_est_dehors"
      MsgBox toto & "  ===> " & transpo(toto, mot1, mot2)
      toto = "Le_chien_est_dedans"
      MsgBox toto & "  ===>" & transpo(toto, mot1, mot2)
      toto = "L_oiseau_est_dans_la_cage"
      MsgBox toto & "  ===> " & transpo(toto, mot1, mot2)
    End Sub
     
    Private Function transpo(texte As String, mt1 As String, mt2 As String) As String
      transpo = ""
      If LCase(texte) Like "*" & LCase(mt1) & "*" Then transpo = mt1: Exit Function
      If LCase(texte) Like "*" & LCase(mt2) & "*" Then transpo = mt2End Function
    Edit : j'ai modifié pour qu'il accepte un mot quelle que soit la casse

  5. #5
    Membre actif
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Par défaut
    Effectivement, c'est bien du VBA que je désire....

    J'ai testé le code et j'ai une erreur de compilation...

    Je m'excuse, je me suis mal exprimé sur ma demande, je reformule:

    J'ai dans plusieurs cellules differentes de la feuille 1 des libellés:

    Feuille 1:
    cellule A1:libellés

    cellule A2: Le_chat_est_dehors
    cellule A3: Le_chien_est_dedans
    cellule A4: L_oiseau_est_dans_la_cage

    Feuille 2 contient les mots clés:

    mots_clés

    chat
    chien
    cheval
    serpent

    La position des mots clés n'est pas figé dans la feuille 2

    Résultats:

    Feuille 1:
    cellule B1:catégories
    cellule B2: chat
    cellule B3: chien
    cellule B4:

    Voir fichier joint
    Merci et encore désolé
    Fichiers attachés Fichiers attachés

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Désolé, mais j'estime avoir déjà répondu .... sur comment déceler si une variable string contient ou non une chaîne de caractères et (si elle la contient) la transformer. Telle était la question posée.
    L'exemple était clair...
    le reste (la façon d'aller à la pêche des cellules et des mots) est une autre affaire (la tienne), d'un autre genre .... ...

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    à noter que steelk n'est pas réapparue depuis 2008! il est sens doute parti à la retraite et c'est sont remplacent qui à voulu trouver la solution! j'espère qu'il n’était pas question de calculer les points de retraite pour une caisse complémentaire!

    il faut vraiment simplifier les procédures administratives, alors en marche!

Discussions similaires

  1. [VBA-E] Savoir si une cellule contient un commentaire.
    Par $p00ky dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 02/08/2022, 17h57
  2. [XL-2013] Comment savoir si une cellule contient bien une date ?
    Par DenisHen dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/09/2015, 13h07
  3. [XL-2003] Comment savoir si une cellule a été modifiée
    Par Line dans le forum Excel
    Réponses: 4
    Dernier message: 08/08/2009, 19h49
  4. Comment savoir si une chaine contient des lettres
    Par developpeur_débutant dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 27/05/2009, 12h28
  5. [Excel] Comment savoir si la cellule contient un lien hypertexte ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 16/12/2004, 11h01

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