OVH Cloud OVH Cloud

Fusionner 2 feuilles

8 réponses
Avatar
Dante Huapaya
Bonjour,

J’aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d’avance pour vos suggestions

Dante Huapaya

8 réponses

Avatar
Daniel
Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya



Avatar
Dante Huapaya
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya








Avatar
Daniel
Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune. Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"), _
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"), 0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya










Avatar
Dante Huapaya
Merci Daniel,

No 1, ca marche à la perfection.
ton aide est très aprecié

Merci

Dante Huapaya



Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune. Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"), _
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"), 0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya















Avatar
Dante Huapaya
Excuse-moi Daniel,

Si je veux ajouter un dizaine de colonnes de la feuille 2 sur ma
feuille resultat ou je doit modifier ta macro ?

Merci encore une fois

Dante Huapaya


Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune. Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"), _
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"), 0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya















Avatar
Daniel
Voila la macro avec un ajout de 8 colonnes. Il te suffit d'ajouter celles
que tu veux.

Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Dim Val As Variant
Worksheets("Resultat").Activate
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Val = Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
Val, 1)

If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
'Ajout de huit colonnes. Tu peux ajouter autant de colonnes que
tu veux !
ActiveCell.Offset(0, 4).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 3)
ActiveCell.Offset(0, 5).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 4)
ActiveCell.Offset(0, 6).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 5)
ActiveCell.Offset(0, 7).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 6)
ActiveCell.Offset(0, 8).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 7)
ActiveCell.Offset(0, 9).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 8)
ActiveCell.Offset(0, 10).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 9)
ActiveCell.Offset(0, 11).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 10)
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub

Cordialement.
Daniel

"Dante Huapaya" a écrit dans le
message de news:
Excuse-moi Daniel,

Si je veux ajouter un dizaine de colonnes de la feuille 2 sur ma
feuille resultat ou je doit modifier ta macro ?

Merci encore une fois

Dante Huapaya


Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune.
Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
_
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans
le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données
différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya

















Avatar
Dante Huapaya
Quand j,execute la macro, un message apparait et souligne en meme
temps la fonction VAL - le message est le suivante: "Argument non facultatif"

Dante Huapaya




Voila la macro avec un ajout de 8 colonnes. Il te suffit d'ajouter celles
que tu veux.

Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Dim Val As Variant
Worksheets("Resultat").Activate
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Val = Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
Val, 1)

If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
'Ajout de huit colonnes. Tu peux ajouter autant de colonnes que
tu veux !
ActiveCell.Offset(0, 4).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 3)
ActiveCell.Offset(0, 5).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 4)
ActiveCell.Offset(0, 6).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 5)
ActiveCell.Offset(0, 7).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 6)
ActiveCell.Offset(0, 8).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 7)
ActiveCell.Offset(0, 9).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 8)
ActiveCell.Offset(0, 10).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 9)
ActiveCell.Offset(0, 11).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 10)
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub

Cordialement.
Daniel

"Dante Huapaya" a écrit dans le
message de news:
Excuse-moi Daniel,

Si je veux ajouter un dizaine de colonnes de la feuille 2 sur ma
feuille resultat ou je doit modifier ta macro ?

Merci encore une fois

Dante Huapaya


Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune.
Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
_
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans
le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données
différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya






















Avatar
Dante Huapaya
Laisse faire Daniel c'est moi que à fait l'erreur.
Au Canada il y a une expression pour ca que dit:

C'est un code 18 ! (le problème est à 18 pouces devant l'écran)

Merci encore de ta patience.

Dante Huapaya


Voila la macro avec un ajout de 8 colonnes. Il te suffit d'ajouter celles
que tu veux.

Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Dim Val As Variant
Worksheets("Resultat").Activate
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Val = Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
Val, 1)

If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
'Ajout de huit colonnes. Tu peux ajouter autant de colonnes que
tu veux !
ActiveCell.Offset(0, 4).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 3)
ActiveCell.Offset(0, 5).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 4)
ActiveCell.Offset(0, 6).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 5)
ActiveCell.Offset(0, 7).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 6)
ActiveCell.Offset(0, 8).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 7)
ActiveCell.Offset(0, 9).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 8)
ActiveCell.Offset(0, 10).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 9)
ActiveCell.Offset(0, 11).Value =
Application.Index(Worksheets("Feuil2").Range("A1", "L100"), Val, 10)
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub

Cordialement.
Daniel

"Dante Huapaya" a écrit dans le
message de news:
Excuse-moi Daniel,

Si je veux ajouter un dizaine de colonnes de la feuille 2 sur ma
feuille resultat ou je doit modifier ta macro ?

Merci encore une fois

Dante Huapaya


Bonsoir.
J'ai testé la macro suivante avec la donnée CODEx comme zone commune.
Adapte
la macro à tes besoins réels.
Sub Test()
Dim Var As Variant, Cod As Variant, Nom As String, Num As Variant
Worksheets("Resultat").Select
Range("A1").Select
Worksheets("Feuil1").Activate
Range("c1:c100").Select
For Each c In Selection
Cod = Range(c.Address)
Nom = Range(c.Address).Offset(0, -1)
Num = Range(c.Address).Offset(0, -2)
Var = Application.Index(Worksheets("Feuil2").Range("A1", "B100"),
_
Application.Match(c, Worksheets("Feuil2").Range("B1", "B100"),
0),
1)
If Not IsError(Var) Then
Worksheets("Resultat").Select
ActiveCell.Value = Num
ActiveCell.Offset(0, 1).Value = Nom
ActiveCell.Offset(0, 2).Value = Cod
ActiveCell.Offset(0, 3).Value = Var
ActiveCell.Offset(1, 0).Select
Worksheets("Feuil1").Activate
End If
Next c
End Sub
Cordialement.
Daniel
"Dante Huapaya" a écrit dans le
message de news:
Disons que ce la colonne A que contienne les doublons et
oui il faut suprimer celles sans correspondance.
Merci encore

Dante Huapaya


Bonjour.
Sait-on quelles sont les colonnes qui peuvent être communes aux deux
feuilles ? Les données sans correspondance sont-elles supprimées ?
Cordialement.
Daniel
"Dante Huapaya" a écrit dans
le
message de news:
Bonjour,

J'aimerais fusionner 2 feuilles qui contiennent des données
différentes
mais qui ont au moins une colonne en commun.
Exemple :
Feuille 1
430 DANTE CODE1
820 XAVIER CODE3
350 RONALD CODE5

Feuille 2
JANVIER CODE3
JUILLET CODE9
AOUT CODE5

Resultat
820 XAVIER CODE3 JANVIER
350 RONALD CODE5 AOUT

Merci d'avance pour vos suggestions

Dante Huapaya