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 :

Comparer deux colonnes Excel avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut Comparer deux colonnes Excel avec VBA
    Bonjour,

    mon probleme aujourd'hui c'est de comparer deux colonnes Excel

    Si cell(colonneA)=cell(ColonneB) alors on prends les 3 cell(droite(colonneB)) et on colle la valeur dans les 3 cell(droite(ColonneA))
    j'ai ecris ce code mais bon il me tourne pas bien
    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
     
     Do While Worksheets("feuil2").Cells(A, 1).Value <> ""
        initial = Worksheets("feuil2").Cells(A, 1).Value
     
        Do While Worksheets("feuil3").Cells(b, 8).Value <> ""
            Second = Worksheets("feuil3").Cells(b, 8).Value
             If Second = initial Then
             Worksheets("feuil2").Cells(A, 13).Value = Worksheets("feuil3").Cells(b, 9).Value
     
             End If
     
             b = b + 1
              Loop
     
              A = A + 1
         Loop
    si vous pouvez m'aider n'hésitez surtout pas

    Merci

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    En espérant avoir compris ce que tu souhaites, je te propose ceci :
    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 compare()
    Dim cell_testA As Range
    Dim cell_testB As Range
     
    With Worksheets("Feuil2")
        Set cell_testA = .Range("A1")
        Set cell_testB = Worksheets("Feuil3").Range("B1")
        For i = 0 To .Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row - 1
            For j = 0 To Worksheets("Feuil3").Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row - 1
                If cell_testA.Offset(i, 0) = cell_testB.Offset(j, 0) Then
                    For k = 1 To 3
                        cell_testA.Offset(i, k) = cell_testB.Offset(j, k)
                    Next k
                End If
            Next j
        Next i
    End With
     
    End Sub
    Tiens moi au courant !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci bcp pour ta reponse, meme si j'ai pas pu l'integrer dans mon code

    je te reexcplique mon probleme

    j'ai une feuille 2 avec colonne code
    j'ai une feuille 3 avec colonne code , prix lieux et nature

    ce que je veux faire
    1) comparer les codes de la feuille 2 avec les codes de la feuille 3
    2) Si le code de la feuille 2 est egale au code de la feuille 3 alors
    on copie les cellule correspendante ( c'adire prix, lieux et nature ) devant le code de la feuille 2

    en bref c'est une comparaison avec comme clé primaire le code si il match on copie les carecteristiques

    j'espere que j'etais bien claire

    Merci bcp

    c'est tres gentil

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Le code que j'ai fait est pour remplacer le tien ! ^^

    Bref, ce que j'ai fait compare la colonne A de ta feuil2 et la colonne B de ta feuil3. Si il trouve un correspondance, il place dans la feuil2 les trois colonnes de droite de la colonne B de la feuil3.

    Je crois que c'est ce que tu veux ! ^^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    J'aurais fait un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for i=1 to worksheet("feuil2").cells(1,1).end(xldown).row 'derniere cellule renseignée de la colonne, nécessite que toutes les cellules soient remplies
     
      for j=1 to worksheet("feuil3").cells(1,1).end(xldown).row
     
        if worksheet("feuil2").cells(i,1)=worksheet("feuil3").cells(j,1) then
     
          worksheet("feuil2").cells(i,2)=worksheet("feuil3").cells(j,2)
     
        end if
      next
    next
    bien sur il y a des contraintes:
    dans les 2 feuilles, il y a une liste ininterrompue de valeur

    Si ce n'est pas le cas on peut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(35000,1).end(xlup).row
    dernière cellule renseignée de la colonne 1

  6. #6
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Merci bcp pour vos réponses

    ça marche parfaitement



    thx a lot

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

Discussions similaires

  1. [Débutant] Comparer deux colonnes excel
    Par jacko842 dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/06/2013, 22h44
  2. Lier deux tableaux Excel avec VBA
    Par Guiguedu13 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/04/2013, 19h39
  3. comparer deux feuilles excel ss VBA
    Par washh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/08/2008, 16h14
  4. Réponses: 9
    Dernier message: 27/06/2006, 16h55
  5. comparer deux colonnes sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/12/2005, 10h50

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