Fusion

Le
pb
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290 lignes.
Quelqu'un a t'il une idée??
Merci
Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #19139131
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290 lignes.
Quelqu'un a t'il une idée??
Merci
Pascal




pb
Le #19139461
Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans les
colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr s'additionner
sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal





Jacquouille
Le #19139441
Salut Pb
Ben, tu fais comme Stéphane te l'a suggéré, sauf que tu sélectionnes toutes
les colonnes (a à F ou Z...), soit A1:Z500.
Ensuite, au lieu d'extraire sans doublons en col F, tu choisis une autre
feuille.....
Si ça va pas, tu reviens.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"pb"
Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans
les colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr
s'additionner sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal









pb
Le #19139431
Merci j'essaye
Pascal
"Jacquouille" news:
Salut Pb
Ben, tu fais comme Stéphane te l'a suggéré, sauf que tu sélectionnes
toutes les colonnes (a à F ou Z...), soit A1:Z500.
Ensuite, au lieu d'extraire sans doublons en col F, tu choisis une autre
feuille.....
Si ça va pas, tu reviens.

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"pb"
Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans
les colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr
s'additionner sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom
de Gamme de produits et en ColB le nom du produit. Une gamme peu
contenir X Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal














Daniel.C
Le #19139861
Bonjour.
Essaie :

Sub test()
Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "e:donneesdanielmpfeSourceA.xls"
Set SourceA = Sheets("Feuil1")
With SourceA
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c, Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) +
c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
Workbooks.Open "e:donneesdanielmpfeSourceB.xls"
Set SourceB = Sheets("Feuil1")
With SourceB
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c.Offset(, 1), Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) +
c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
End Sub

Cordialement.
Daniel

Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans les
colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr s'additionner
sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290 lignes.
Quelqu'un a t'il une idée??
Merci
Pascal







MichDenis
Le #19139841
Bonjour Pb,

Si tes données sont sur une même feuille de calcul,
tu peux utiliser faire un TDC de tes données.

Dans un deuxième temps, si tu veux te "débarrasser" du TDC
tu fais un copier coller du tableau.



"pb" Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290 lignes.
Quelqu'un a t'il une idée??
Merci
Pascal
pb
Le #19139831
Merci Daniel,
J'ai adapté les différents chemin et j'ai collé ton module dans le 3éme
classeur de destination
J'ai un soucis sur la dernière ligne de ce bout de code

Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "S:Atlantic Santécr2009.xls"
Set SourceA = Sheets("Feuil5")
Débogage sur : Set SourceA = Sheets("Feuil5")

Pascal





"Daniel.C" %
Bonjour.
Essaie :

Sub test()
Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "e:donneesdanielmpfeSourceA.xls"
Set SourceA = Sheets("Feuil1")
With SourceA
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c, Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
Workbooks.Open "e:donneesdanielmpfeSourceB.xls"
Set SourceB = Sheets("Feuil1")
With SourceB
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c.Offset(, 1), Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
End Sub

Cordialement.
Daniel

Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans
les colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr
s'additionner sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom
de Gamme de produits et en ColB le nom du produit. Une gamme peu
contenir X Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal












pb
Le #19140241
Bonjour,
Et non justement elles ne sont pas sur la même feuille et qui plus est, pas
dans le même classeur non plus.
Merci




"MichDenis"
Bonjour Pb,

Si tes données sont sur une même feuille de calcul,
tu peux utiliser faire un TDC de tes données.

Dans un deuxième temps, si tu veux te "débarrasser" du TDC
tu fais un copier coller du tableau.



"pb" eEVB7N#
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290 lignes.
Quelqu'un a t'il une idée??
Merci
Pascal


isabelle
Le #19140231
bonjour Pascal,

ajoute cette ligne
Application.SheetsInNewWorkbook = 5
juste avant
Set SourceA = Sheets("Feuil5")

isabelle

pb a écrit :
Merci Daniel,
J'ai adapté les différents chemin et j'ai collé ton module dans le 3éme
classeur de destination
J'ai un soucis sur la dernière ligne de ce bout de code

Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "S:Atlantic Santécr2009.xls"
Set SourceA = Sheets("Feuil5")
Débogage sur : Set SourceA = Sheets("Feuil5")

Pascal





"Daniel.C" %

Bonjour.
Essaie :

Sub test()
Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "e:donneesdanielmpfeSourceA.xls"
Set SourceA = Sheets("Feuil1")
With SourceA
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c, Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
Workbooks.Open "e:donneesdanielmpfeSourceB.xls"
Set SourceB = Sheets("Feuil1")
With SourceB
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c.Offset(, 1), Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
End Sub

Cordialement.
Daniel


Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans
les colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr
s'additionner sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"

Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :

Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom
de Gamme de produits et en ColB le nom du produit. Une gamme peu
contenir X Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal
















Daniel.C
Le #19140221
Telle que je l'ai écrite, les résultats s'inscrivent dans un nouveau
classeur créé par :
Workbooks.Add 1
Par contre je ne vois pas ce qui peut provoquer l'erreur, sauf si
Feuil5 ne fait pas partie du classeur "S:Atlantic Santécr2009.xls".
Quel est le message d'erreur ?
Daniel

Merci Daniel,
J'ai adapté les différents chemin et j'ai collé ton module dans le 3éme
classeur de destination
J'ai un soucis sur la dernière ligne de ce bout de code

Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "S:Atlantic Santécr2009.xls"
Set SourceA = Sheets("Feuil5")
Débogage sur : Set SourceA = Sheets("Feuil5")

Pascal





"Daniel.C" %
Bonjour.
Essaie :

Sub test()
Dim SourceA As Worksheet, SourceB As Worksheet, Dico As Object
Dim c As Range, Sh As Worksheet, Ctr As Long, Ligne
Set Dico = CreateObject("Scripting.dictionary")
Workbooks.Add 1
Set Sh = ActiveSheet
Workbooks.Open "e:donneesdanielmpfeSourceA.xls"
Set SourceA = Sheets("Feuil1")
With SourceA
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c, Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
Workbooks.Open "e:donneesdanielmpfeSourceB.xls"
Set SourceB = Sheets("Feuil1")
With SourceB
For Each c In Range(.[A1], .[A65000].End(xlUp))
If Not Dico.exists(c.Offset(, 1).Value) Then
Dico.Add c.Offset(, 1).Value, c.Offset(, 1).Value
Ctr = Ctr + 1
Sh.Cells(Ctr, 1) = c
Sh.Cells(Ctr, 2) = c.Offset(, 1)
Sh.Cells(Ctr, 3) = c.Offset(, 2)
Else
Ligne = Application.Match(c.Offset(, 1), Sh.[B:B], 0)
If IsNumeric(Ligne) Then
Sh.Cells(Ligne, 3) = Sh.Cells(Ligne, 3) + c.Offset(, 2)
End If
End If
Next c
End With
ActiveWorkbook.Close False
End Sub

Cordialement.
Daniel

Merci de ta solution,
C'est ce que j'ai fais le seul truc mais je ne l'avais pas précisé, dans
les colonnes adjacentes c-->f j'ai des Qtés qui doivent bien sûr
s'additionner sur le classeur 3 au même endroit
Merci
Pascal
"LSteph"
Bonjour,

En trois coup les gros:

Dans classeur3 colles tes données A:B.. du 2008
puis juste en dessous tes données A:B..n du 2009

Sélectionne le tout Données Filtre élaboré
coche sans doublons et pour Copier vers un autre emplacement
choisis la cellule D1 par exemple un peu plus loin et zou extrais.

Tu obtiens la liste sans doublons
Plus qu'à supprimer les colonnes A:C devenues inutiles.

--
lSteph


pb a écrit :
Bonjour,
J'ai deux fichiers 2008 et 2009 avec pour chacun d'eux en ColA un nom de
Gamme de produits et en ColB le nom du produit. Une gamme peu contenir X
Produits
A partir de ces deux fichiers, je dois en faire un troisiéme unique
regroupant toutes les données sachant que certaines gammes et certains
produits, ne sont pas communs au deux.
Sur 50 lignes je le faisais à la main, le souci là ce sont les 290
lignes.
Quelqu'un a t'il une idée??
Merci
Pascal














Publicité
Poster une réponse
Anonyme