Copier des données sur diverses feuilles

Bonjour à tous,

Tout d'abord merci pour les aides que j'ai eues par le passé.

Je reviens vers vous avec un problème qui peut sembler simple mais je cale sur la logique à appliquer.

Je reçois tous les mois un reporting de données de fournisseurs. Ils sont classé par numéros dans une colonne. Pour un fournisseur je peux avoir, dans la colonne à côté plusieurs lignes correspondants à des valeurs dont j'ai besoin.

J'ai un autre fichier Excel dans lequel j'ai une feuille par numéro fournisseur. J'aimerais pouvoir copier les données dans les feuilles mais je ne vois pas comment faire.

Je vous ai mis un exemple de la donnée source que j'ai.

Mon idée de base était de faire une recherche verticale jusqu'au numéro de fournisseur voulu (ex : 447931) puis lui dire de copier toutes les lignes jusqu'au numéro de client suivant (donc jusqu'au numéro 466215).

Je ne vois pas trop comment faire.

Quelqu'un aurait une astuce?

Merci d'avance

Oli.

10exemple.xlsx (8.50 Ko)

Bonjour,

Tu pourrais, dans un premier temps, compléter ta source ..

A tester :

Sub Completer()
Dim c As Range
Dim plage As Range

Set plage = Range("B2:B29")
    For Each c In plage
        If c <> "" And c.Offset(0, -1) = "" Then c.Offset(0, -1) = c.Offset(-1, -1)
    Next c
End Sub

En espérant que cela t'aide ...

Bonjour,

cela m'a permis de mettre les numéros de fournisseur partout.

J'ai ensuite essayé de faire le lien 1 à plusieurs comme j'ai vu sur le net mais en vain

cependant cela me colle toutes les données sans filtrer comme cela devrait le faire.

voici le code que j'obtiens :

 { DATABASE  \d "Z:\\CDVU\\Boekhouding CDVU\\Parastatalen\\2017\\Copie de Tets1 PerStamnummer201712.xls" \c "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=Z:\\CDVU\\Boekhouding CDVU\\Parastatalen\\2017\\Copie de Tets1 PerStamnummer201712.xls;Mode=Read;Extended Properties=\"HDR=YES;IMEX=1;\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False" \s "SELECT * FROM `BD_total`" \h }

et dans la fin du code j'aurais dû avoir le champ que je sélectionne et le mot "toto" comme dans l'exemple mais cela ne fonctionne pas.

Auriez-vous une idée?

Bonjour,

Content que la macro fonctionne ... et tu aies pu compléter ta source ...

Ensuite, tu dis :

J'ai ensuite essayé de faire le lien 1 à plusieurs

J'avoue ne pas comprendre ce que tu veux dire ...

Peux-tu poster un exemple ...???

Bonjour,

j'ai complété l'idée dans mon fichier exemple2.

Donc en gros j'ai la feuil2 dans laquelle j'ai mes numéros de fournisseurs avec nom et adresse. Dans ma feuil1 j'ai les fournisseurs avec les valeurs qui leur sont rapportées. J'aimerais faire un publipostage depuis word vers outlook en prenant comme source Excel.

Rien de complexe mais j'aimerais avoir ceci dans mon mail :

fournisseur : 447520 nom adresse 4788

puis un autre mail

fournisseur : 466221 nom adresse 7169

8425

5668

etc.... avec chaque numéro de fournisseurs

5exemple2.xlsx (9.26 Ko)

Re,

Ci-joint ton fichier test ... avec la macro pour compléter la source ...

... et la formule pour extraire les multiples Valeurs par Fournisseur ...

En espérant que cela t'aide ...

8test-monza86.xlsm (16.30 Ko)

Bonjour,

Après avoir testé la macro et la formule ... il ne faut pas hésiter à faire part de tes commentaires ...

Bonjour,

ta solution est pas mal, je l'ai faite pour d'autres champs mais comme j'ai déjà env 60 champs dans mon publipostage si je dois implémenter encore près de 25 ou 30 champs je crains que ça ne devienne trop lourd :/

c'est pour ça que je voulais essayer de faire fonctionner le système comme une base de donnée mais j'ai un souci dans le tri conditionnel (avec le champ et le toto). Cela ne se met pas. Si je modifie manuellement le code cela plante complètement :/

Bonjour,

Je ne connais pas la solution dont tu parles ...

Bonne Continuation ...

Rechercher des sujets similaires à "copier donnees diverses feuilles"