vba : jointure pour creation feuille 3 avec donnees de 2 feuilles
#1
Débutant XLPages

Inscription: 15/03/2012

Messages: 1

Système d'exploitation:
PC
Version Excel utilisée:
excel 2003
Posté le : 15-03-2012 10h50
voila mon petit problème pour des connaisseurs , je galère, si vous avez le code vba pour cela :

je veux parcourir toutes les cellules de la colonne A de la 1ere feuille ,
puis chercher/ parcourir dans la 2ieme feuille l'existence de cette cellule dans la colonne A (plusieurs fois trouvée possible ou pas)
si trouvé ou pas , créer une 3ieme feuille avec données de la feuille 1 en ligne et données de la feuille 2 associée en colonne , si pas trouvé , alors je laisse les données de feuille 2 à blanc

je mets un exemple très simple pour aider

merci d'avance
Pièce jointe:
xls exemple.xls   [ Taille: 18.50 Ko - Téléchargements: 542 ]
Hors Ligne
Rapport   Haut 

Re: vba : jointure pour creation feuille 3 avec donnees de 2 feuilles
#2
Accro XLPages

Inscription: 17/08/2007
De Québec, Canada

Messages: 180

Système d'exploitation:
PC
Version Excel utilisée:
Excel 2003, 2007 (FR) & MsProject 2003
Posté le : 16-03-2012 02h35
 Salut le forum

Solution proposée sur un autre forum, et Olives qui ne la pas signalée.
Sub test()
Dim i As Long, j As Long, k As Long, Col As Long, Code As Long
    j = 2
    With Sheets("feuil1")
        For i = 2 To .Range("A65536").End(xlUp).Row
            Code = .Cells(i, 1).Value
            Sheets("Feuil3").Range("A" & j).Value = Code
            Sheets("Feuil3").Range("B" & j).Value = .Cells(i, 2).Value
            If Application.CountIf(Sheets("feuil2").Range("A1:A65536"), Code) > 0 Then
                Col = 3
                For k = 2 To Sheets("Feuil2").Range("A65536").End(xlUp).Row
                    If Sheets("Feuil2").Range("A" & k).Value = Code Then
                        Sheets("feuil3").Cells(j, Col).Value = Sheets("Feuil2").Range("B" & k).Value
                        Sheets("feuil3").Cells(j + 1, Col).Value = Sheets("Feuil2").Range("C" & k).Value
                        Col = Col + 1
                    End If
                Next k
                j = j + 2
            Else
                j = j + 1
            End If
        Next i
    End With
End Sub
Mytå


Merci, de donner un retour à votre question, nous ne sommes pas des robots. [GMT - 5]
Le travail d'équipe est essentiel. En cas d'erreur, ça permet d'accuser quelqu'un d'autre.
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes