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 similitudes entre 2 colonnes


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Recherche similitudes entre 2 colonnes
    Bonjour,

    je suis un peu nouveau dans le domaine d'excel vb et, ai donc une question.

    Je voudrais rechercher dans une colonne(col1) d'une feuille(feuil1) si une donnée est présente dans une autre colonne(col2) d'une autre feuille(feuil2). Si il y a concordance, je veux qu'elle me renvoi des information de feuil2 dans feuil1 (style nom, prenom de la feuil2 dans une colonne de feuil1).

    Quelqu'un aurait une idée???

  2. #2
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 45
    Points : 54
    Points
    54
    Par défaut
    Bonjour,


    Ce que tu demandes ressemble à une rechercheV ou H. pourquoi n'essaye tu pas une recherche avec un si du genre "=SI rechercheV(valeur,table, index,0)=valeur de la colonne1; nom feuille;"").

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Points : 281
    Points
    281
    Par défaut
    Citation Envoyé par hassenssas Voir le message
    Je voudrais rechercher dans une colonne(col1) d'une feuille(feuil1) si une donnée est présente dans une autre colonne(col2) d'une autre feuille(feuil2).
    as tu essayé de boucles for?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for i= 1 to fin_colonne1
      for j= 1 to fin_colonne2
        cel1=worksheets("feuil1").cells(i,"A")
        cel2=worksheets("feuil2").cells(j,"A")
        if cel1=cel2 then
          action
        end if
      next j
    next i
    je sais pas si c'est tres clair (ni juste) ce que je viens d'ecrire!
    cela ne te permettra que de savoir si il y a des cellules identiques!

    Si il y a concordance, je veux qu'elle me renvoi des information de feuil2 dans feuil1 (style nom, prenom de la feuil2 dans une colonne de feuil1).
    alors là...? je ne vois pas trop...
    si je comprend bien : si il y a 2 cellules identiques (le contenu) tu veux mettre dans feuille 1, les parametres de la cellule jumelle (qui est dans feuille2)?
    il doit exister une formule vba excel qui te permet de recupere le style de la mise en forme d'une cellule mais je ne sais pas laquelle!

    j'espere que ca t'aidera

    pour la question du style :

    va donc voir dans l'aide de vb et tape : TextEffectFormat
    tu dois pouvoir recuperer les données en faisant un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    police=worksheets("feuil2").cells(ligne,colonne).TextEffect.FontName
    et ainsi de suite

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    En fait je connais comment faire ca en calcul excel, c'est une formule style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SI(ESTERREUR(RECHERCHEV($B20;Feuil2!A$2:A$10;1;FAUX));"OK";"KO")
    mais je veux essayer de faire ca en macro. Malheureusement je ne connais pas assez les macros.

    j'ai essayé... :

    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
     
    Sub MonCode()
    Dim c As Range
    Dim numclient As String
        numclient = "blabla"
        With Worksheets("Feuil2").Range("a1:a500")
        Set c = .Find(numclient, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = 5
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    End Sub
    ... sans succes. Un coup de main??

  5. #5
    Membre du Club
    Homme Profil pro
    Dessinateur Projeteur
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Dessinateur Projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut
    Essaye ceci ca devrait t'aider j'ai posé une question tres proche voire identique de la tienne !

    http://www.developpez.net/forums/sho...50#post3261950

Discussions similaires

  1. [XL-2007] Mettre en évidence des similitudes entre 2 colonnes de 2 Listbox
    Par BERRACHED SAID dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/11/2014, 21h00
  2. [XL-2010] recherche valeur entre 2 colonnes
    Par gilou41 dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 23/03/2012, 20h01
  3. différence entre 2 colonnes de 2 tables
    Par rdams dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/11/2005, 14h35
  4. Minimum entre deux colonnes
    Par keikun dans le forum Requêtes
    Réponses: 5
    Dernier message: 18/08/2005, 14h20
  5. Similitude entre documents
    Par camboui dans le forum Algorithmes et structures de données
    Réponses: 23
    Dernier message: 27/04/2005, 17h39

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