Microsoft 365 Extraction de données vers plusieurs classeurs avec mise en forme et formule

TCMM

XLDnaute Nouveau
Bonjour,

J'ai une base de données avec 2 premiers onglets qui ont des mises en page précise et des formules (RechervheV entre ces deux onglets). J'ai un 3ième onglet avec des adresses des personnes.

Je cherche une macro qui permet de créer plusieurs nouveaux classeurs Excel (contenant mes deux premiers onglet seulement) avec les données de chaque personne et qui conserve la même mise en page et les formules. Chaque fichier doit porter le nom de l'adresse mail de la personne.

Pouvez vous m'aider avec cette tâche manuelle et fastidieuse?

Ci-joint le fichier
 

Pièces jointes

  • Inventaire.xlsx
    14.7 KB · Affichages: 10
Solution
bonjour le forum
dans le classeur ci joint plus rien n'est visible au niveau de la cellule b2
si vous rajouter des colonnes il faut adapter les macros massifier et supprimer au niveau de la plage de de cellule
un tri s'effectue sur les dates colonne F mais dans votre tableau les dates sont maintenant en colonne H
il suffit d'adapter dans la macro massifier

supprimer
If Range("A" & J).Value <> Range("B1").Value Then Rows(J).Range("A1:G1").ClearContents 'delete
au lieu de a1 g1 exemple a1 i1

massifier le tri se fait colonne f donc on si vous rajouter une colonne avant il faut adapter
Range("A5:G3000").Select
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Clear...

TCMM

XLDnaute Nouveau
dans la macro ventilation c'est dans cette ligne que se construit le nom du classeur
nc étant la variable qui stocke l'adresse
nc = Sheets("Adresse").Cells(i, 3) & "_" & Sheets("Adresse").Cells(i, 2)

pour n'avoir que l'adresse email remplacer par
nc = Sheets("Adresse").Cells(i, 2)

j'ai oublié de vous préciser que dans l'onglet Adresse j'ai rajouté une colonne pour que le nom soit associé à l'id.
précision ne pas changer le nom des onglets, ou alors modifier toutes les macros
@+

Merci pour votre aide. Mais la solution n'est pas adaptable. Par exemple j'ai ajouté deux colonnes et ça me donne tout autre chose dans les nouveaux classeurs. Ci joint le fichier.

Et aussi, à la fin de la macro, il y a un chiffre qui apparait toujours au niveau de la cellule B2 de l'onglet inventaire.
 

Pièces jointes

  • test v7.xlsm
    31.6 KB · Affichages: 6

GALOUGALOU

XLDnaute Accro
bonjour le forum
dans le classeur ci joint plus rien n'est visible au niveau de la cellule b2
si vous rajouter des colonnes il faut adapter les macros massifier et supprimer au niveau de la plage de de cellule
un tri s'effectue sur les dates colonne F mais dans votre tableau les dates sont maintenant en colonne H
il suffit d'adapter dans la macro massifier

supprimer
If Range("A" & J).Value <> Range("B1").Value Then Rows(J).Range("A1:G1").ClearContents 'delete
au lieu de a1 g1 exemple a1 i1

massifier le tri se fait colonne f donc on si vous rajouter une colonne avant il faut adapter
Range("A5:G3000").Select
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Add Key:=Range( _
"F5:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Inventaire").Sort
.SetRange Range("A5:G3000")
meme exemple que pour supprimer au lieu de a5 g3000 remplacer par a5 i3000


il est important que les colonnes A dans inventaire et abc dans adresse soit immuable
si vous modifiez des colonnes ou les noms il suffit d'adapter
cordialement
galougalou
 

Pièces jointes

  • Copie de test v7-3.xlsm
    32 KB · Affichages: 13

TCMM

XLDnaute Nouveau
bonjour le forum
dans le classeur ci joint plus rien n'est visible au niveau de la cellule b2
si vous rajouter des colonnes il faut adapter les macros massifier et supprimer au niveau de la plage de de cellule
un tri s'effectue sur les dates colonne F mais dans votre tableau les dates sont maintenant en colonne H
il suffit d'adapter dans la macro massifier

supprimer
If Range("A" & J).Value <> Range("B1").Value Then Rows(J).Range("A1:G1").ClearContents 'delete
au lieu de a1 g1 exemple a1 i1

massifier le tri se fait colonne f donc on si vous rajouter une colonne avant il faut adapter
Range("A5:G3000").Select
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Add Key:=Range( _
"F5:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Inventaire").Sort
.SetRange Range("A5:G3000")
meme exemple que pour supprimer au lieu de a5 g3000 remplacer par a5 i3000


il est important que les colonnes A dans inventaire et abc dans adresse soit immuable
si vous modifiez des colonnes ou les noms il suffit d'adapter
cordialement
galougalou

Merci. C'est interessant. Je continue de tester. Mais ça fonctionne. Mise en page et formule dans les deux onglets. Même si dans la cellule B1, il y a toujours l'ID qui s'affiche
 

TCMM

XLDnaute Nouveau
bonjour le forum
dans le classeur ci joint plus rien n'est visible au niveau de la cellule b2
si vous rajouter des colonnes il faut adapter les macros massifier et supprimer au niveau de la plage de de cellule
un tri s'effectue sur les dates colonne F mais dans votre tableau les dates sont maintenant en colonne H
il suffit d'adapter dans la macro massifier

supprimer
If Range("A" & J).Value <> Range("B1").Value Then Rows(J).Range("A1:G1").ClearContents 'delete
au lieu de a1 g1 exemple a1 i1

massifier le tri se fait colonne f donc on si vous rajouter une colonne avant il faut adapter
Range("A5:G3000").Select
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Inventaire").Sort.SortFields.Add Key:=Range( _
"F5:F3000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Inventaire").Sort
.SetRange Range("A5:G3000")
meme exemple que pour supprimer au lieu de a5 g3000 remplacer par a5 i3000


il est important que les colonnes A dans inventaire et abc dans adresse soit immuable
si vous modifiez des colonnes ou les noms il suffit d'adapter
cordialement
galougalou

Merci encore. ça fonctionne bien et je l'adapte de mieux en mieux
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 190
Membres
102 809
dernier inscrit
Sandrine83