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 :

Détection doublon approchants [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Détection doublon approchants
    Bonjour à tous !

    J'ai besoin de votre aide.

    Je possède un annuaire d'environ 30 000 lignes. Il contient plusieurs champs. Ceux qui m’intéresse sont les Noms et Prénoms.

    Y a t-il un moyen de faire une analyse sur les noms et prénoms approchants ( composé, avec tiret, avec accent etc) ?

    Ci-joint le fichier Excel avec 2 noms et prénoms composé et non composé (en réalité il s’agit bien de la même personne).

    Mon objectif serait que dans la colonne C, on m’indique pour les lignes en questions “Problème“, sinon “Ok“.

    Je ne sais pas si cela est possible, peut-être l’utilisation d’une macro serait dans ce cas primordiale.

    J’espère que quelqu’un d’entre vous aurez une solution à me proposer.

    Merci à vous
    Fichiers attachés Fichiers attachés

  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
    Bonjour,

    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
    17
    18
    19
     
    Sub GroupColor2CritèresColAColB()
      Set f = Sheets("feuil2")
      couleurs = Array(1, 3, 4, 6, 7, 8, 14, 15, 17, 20, 22, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
      Set mondico = CreateObject("Scripting.Dictionary")
      For Each c In f.Range("a2", f.[a65000].End(xlUp))
        clé = c.Value & sansTiret(c.Offset(, 1))
        mondico.Item(clé) = mondico.Item(clé) + 1
      Next c
      For Each c In f.Range("a2",f. [a65000].End(xlUp))
        clé = c.Value & sansTiret(c.Offset(, 1))
        nocoul = (Application.Match(clé, mondico.keys, 0)) Mod UBound(couleurs)
        If mondico.Item(clé) > 1 Then c.Resize(, 2).Interior.ColorIndex = couleurs(nocoul)
      Next c
    End Sub
     
    Function sansTiret(c)
      sansTiret = Application.Trim(Replace(c, "-", " "))
    End Function
    Boisgontier
    Fichiers attachés Fichiers attachés

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour ta réponse rapide. Tu est vraiment au top.

    Seulement comment as-tu fais ? Car quand je rajoute à ma liste des noms composés cela ne fonctionne pas. Ta macro fonctionne seulement pour la liste que je t'ai envoyé ?

    Dans ce cas serait-il possible de le faire sur cette liste ?
    Fichiers attachés Fichiers attachés

  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
    Il faut enregistrer le fichier au format macros.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Sub GroupColor2CritèresColAColB()
      Application.ScreenUpdating = False
      Set f = Sheets("feuil1")
      couleurs = Array(1, 3, 4, 6, 7, 8, 14, 15, 17, 20, 22, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
      Set mondico = CreateObject("Scripting.Dictionary")
      For Each c In f.Range("a2", f.[a65000].End(xlUp))
        clé = c.Value & "|" & sansTiret(c.Offset(, 1))
        mondico.Item(clé) = mondico.Item(clé) + 1
      Next c
      For Each c In f.Range("a2", f.[a65000].End(xlUp))
        clé = c.Value & "|" & sansTiret(c.Offset(, 1))
        If mondico.Item(clé) > 1 Then
           nocoul = (Application.Match(clé, mondico.keys, 0)) Mod UBound(couleurs)
           c.Resize(, 2).Interior.ColorIndex = couleurs(nocoul)
        End If
      Next c
      '-------------------liste sans doublons
      f.[i2].Resize(mondico.Count) = Application.Transpose(mondico.keys)
      f.[i2].Resize(mondico.Count).TextToColumns Other:=True, OtherChar:="|"
    End Sub
     
    Function sansTiret(c)
      sansTiret = Application.Trim(Replace(c, "-", " "))
    End Function
    Boisgontier
    Fichiers attachés Fichiers attachés

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Tu gères grave.

    À quoi sert la colonne I et J s'il te plait ?

    Merci à toi

    PS : Quand je clique sur "GO", on me dit : Cette cellule contient des données. Voulez-vous les remplacer ?. C'est normal ?

  6. #6
    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
    A quoi sert la colonne I et J s'il te plait ?
    c'est pour obtenir la liste sans doublons.

    PS : Quand je clique sur "GO", on me dit : Cette cellule contient des données. Voulez-vous les remplacer ?. C'est normal ?
    Pour supprimer ce message, ajouter avant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.DisplayAlerts=False
    Boisgontier

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci à toi !

    Je mets le sujet en résolu

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

Discussions similaires

  1. SQL Serveur 2008] Détection doublons
    Par geo54 dans le forum Développement
    Réponses: 5
    Dernier message: 21/12/2009, 16h46
  2. Détection doublons particulière
    Par Domimart dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2009, 18h47
  3. Détection doublons base de donnée access
    Par cyrux dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/03/2009, 08h55
  4. Détection Doublon à l'enregistrement
    Par francois78 dans le forum Access
    Réponses: 5
    Dernier message: 22/03/2006, 14h22
  5. détection doublons de fichier
    Par poussinphp dans le forum Langage
    Réponses: 4
    Dernier message: 09/08/2005, 18h33

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