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

Excel Discussion :

Trouver les caractères que deux cellules ont en commun [XL-2007]


Sujet :

Excel

  1. #1
    Membre régulier
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2013
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 220
    Points : 98
    Points
    98
    Par défaut Trouver les caractères que deux cellules ont en commun
    Bonjour forum bien-aimé,

    Question à 10 balles :

    Est-il possible de bidouiller une formule qui comparerait ceci, par exemple :

    en B1 : "Tour sud : Ascenseurs 10 et 16 en panne"
    en C1 : "Panne des ascenseurs 10 et 16 dans la tour sud"

    Est-ce que je peux savoir ce que les deux cellules ont en commun : mes ascenseurs 10 et 16, OU la panne...

    (En fait, je dois comparer deux tableaux listant des incidents à différentes dates. Une fois les dates triées, je veux pouvoir vérifier si on parle bien de la même chose, dans la colonne "Description de l'incident", à la même date.)

    Si ça se peut, je préciserais que la chaîne de caractères en commun doit être supérieure à 3 car je vais récolter tous les "de" "en", etc. sauf si les caractères communs sont numériques.

    Peut-être que c'est infaisable... mais qui n'demande rien n'a rien !

    Merci à l'avance !

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonsoir,

    Voir exemple en PJ

    Fonction qui donne la liste des mots communs à 2 cellules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Function Communs(cel1 As Range, cel2 As Range)
     Set d1 = CreateObject("Scripting.Dictionary")
     a = Split(cel1, " ")
     b = Split(cel2, " ")
     For Each c In a
       d1(c) = ""
     Next c
     Set d2 = CreateObject("Scripting.Dictionary")
      For Each c In b
        If c <> "" And d1.Exists(c) Then d2(c) = ""
      Next c
      Communs = Join(d2.keys, " ")
    End Function
    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  3. #3
    Membre régulier
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2013
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 220
    Points : 98
    Points
    98
    Par défaut
    Bonsoir Jacques,

    Tout d'abord merci de votre aide.

    Faut-il que je recopie le code intégral du fichier joint en exemple ou seulement celui que vous donnez entre balises ?

    Parce qu'en recopiant seulement celui entre balises, dans un module de ma feuille de calcul, avec des données de A2 à B11 pour faire le test, j'obtiens #VALEUR! en écrivant la formule suivante en C2 :

    =Communs(B2;$A$2:$A$11)

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

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    Mots communs entre 2 cellules

    -Alt+F11
    -Insertion/Module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Function Communs(cel1 As Range, cel2 As Range)
     Set d1 = CreateObject("Scripting.Dictionary")
     a = Split(cel1, " ")
     b = Split(cel2, " ")
     For Each c In a
       d1(UCase(c)) = ""
     Next c
     Set d2 = CreateObject("Scripting.Dictionary")
      For Each c In b
        If c <> "" And d1.Exists(UCase(c)) Then d2(c) = ""
      Next c
      Communs = Join(d2.keys, " ")
    End Function
    =communs(A2;B2)

    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  5. #5
    Membre régulier
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2013
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 220
    Points : 98
    Points
    98
    Par défaut
    Merci Jacques !

    J'aime les deux exemples et je les garde !

    Bonne journée à vous.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/03/2010, 17h08
  2. Trouver les dates entre deux dates
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2009, 16h05
  3. Simplification de code : Trouver les row_column d'une cellule précise
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/11/2008, 18h32
  4. Les caractères que l'on retrouve dans un e-mail ?
    Par Metallic-84s dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 06/04/2007, 08h01
  5. Comparer la chaine de caractère de deux cellules différentes
    Par idir.17 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/03/2007, 14h48

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