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 de doublons dans une même feuille [XL-2000]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 070
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 070
    Par défaut recherche de doublons dans une même feuille
    Bonjour à toutes et tous

    mon problème du jour se trouve dans la recherche de doublon sur 2 colonnes différentes .
    Pour être plus précis, je souhaiterai identifier la presence d'un doublon lorsque la colonne "reférence" et la colonne "numero" sont identiques
    pour une même ligne

    j'ai bien essayé via le code suivant mais cela ne fonctionne pas

    explications :
    à partir d'un USF , je teste la présence d'un doublon ( sub ) en identifiant
    d'abord la "référence" puis ensuite le "numéro" ( textbox9 ) par le terme range "réponse"
    mais ceci ne marche pas car il va chercher dans la feuille les éléments l'un après l'autre et non pas ensemble

    l'idée serait de faire par exemple What:= reference+textbox9 mais je ne sais pas si c'est la pratique courante lorsque l'on désire chercher deux éléments distincts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub Doublon()
     
     Dim Reponse As Range
     Set Reponse = B.Cells.Find(What:=Reference, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlNext)
     If Not Reponse Is Nothing Then
        Set Reponse = B.Cells.Find(What:=TextBox9, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlNext)
        If Not Reponse Is Nothing Then
            Retour = 1
        End If
     Else
        Retour = 0
     End If
     
    End Sub
    merci donc par avance de bien vouloir m'éclairer sur le traitement de doublon


  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Par défaut
    Un code comme celui-ci ne répond-il pas au besoin ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i=1 to derniere_ligne
    if Cells(i,col1)=Cells(i,col2) then 
    ' Doublon
    else
    endif
    PPz

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 070
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 070
    Par défaut
    Merci PPz78

    Non, en fait c'est ma faute () je me suis mal exprimé car
    il ne s'agit pas de 2 colonnes "identiques" au sens du contenu mais
    de 2 lignes considérées comme identiques lorsque j'ai dans 2 colonnes differentes ici donc les colonnes "reférence" et "numero" , ayant le meme contenu pour 2 lignes differentes

    ex :

    si ligne 1 => reférence01 et numero01
    puis ligne xx => reférence01 et numero01

    j'ai un doublon

    mais lorsque j'ai

    ligne 01 => refrence01 et numero02
    puis ligne xx => reference01 et numero03

    pas de doublon

    de même si j'ai :

    ligne 01 => refrence02 et numero01
    puis ligne xx => reference03 et numero01

    pas de doublon

    voilà , j'espère avoir été plus clair

    merci encore
    A++

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si Refrence et TextBox8 sont des textes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim t As Integer
    t = Evaluate("sumproduct((A1:A100=""" & Reference & """)*(B1:B100=""" & TextBox9 & """)*1)")
    If t > 1 Then MsgBox "doublons :" & t

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    1 070
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 070
    Par défaut
    merci mercatog

    J'ai testé ta proposition qui malheureusement ne semblait pas convenir
    suivant les tests que j'ai pu faire
    par contre je me suis inspiré de ta première proposition d'hier ( ?) basée sur la concatenation des 2 cellules de la feuille qui me semble plus proche du résultat attendu
    j'ai donc modifié mon code comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Dim Reponse As Range, Critere As String
     Critere = Reference & TextBox9
     Set Reponse = B.Cells.Find(What:=Critere, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlNext)
     If Not Reponse Is Nothing Then
        Retour = 1
     Else
       Retour = 0
     End If
    Ton avis STP car çà a l'air de fonctionner mais ce n'est peut-être pas la façon commune de faire une recherche
    merci encore
    A+

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Tu peux me dire le type de données dans Reference et TextBox9? (texte, numérique, date...?)
    ton code permet de chercher l'existence de Critere dans la plage B
    ou est le sens du doublon ici?

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

Discussions similaires

  1. Recherche de doublons dans une table
    Par david71 dans le forum Access
    Réponses: 2
    Dernier message: 20/01/2008, 14h41
  2. recherche de doublon dans une table
    Par c+cool dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/01/2008, 14h29
  3. recherche des doublons dans une hash
    Par Jasmine80 dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2007, 12h51
  4. [pl-sql] Recherche de doublons dans une table
    Par tommey dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 23h53
  5. Réponses: 5
    Dernier message: 21/11/2005, 15h24

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