je suis sous Excel 2003 et je voudrais savoir comment faire la manip suivante
j'ai une liste de personnes qui sont habilitées à valider des factures sur
certains départements pour la société A ou B jusqu'à un montant X
ce que je voudrais faire c'est des fiches récapitulatives :
dans l'idéal en haut de ma récap je mets le nom de la personne pour qui on
veut faire cette récap et ensuite dans le tableau en dessous cela me sort les
différents départements avec leur description ainsi que le montant auquel ils
sont autorisés
donc j'ai le tableau avec les colonnes suivantes : Département /
Description / Montant autorisé.
merci encore, je te joins un "extrait" de la base ce sont des données bidon et du formulaire à remplir qui lui est le vrai
il faut que tu saches que certaines personnes vont presque avoir 100 lign es dans leur fiche...
http://cjoint.com/?lcbxmLZPu8
MErci Audrey
Bonjour,
Il faudrait un échantillon de la BD:
Sub CréeOngletsModèle() Application.DisplayAlerts = False [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[H1 ], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c On Error Resume Next Sheets(c.Value).Delete On Error GoTo 0 Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = c Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRange:=[A7:C 7] [B2] = c.Value Next c End Sub
http://cjoint.com/?lboHumcEyL
JB
pour les données en A C F c'est à partir de la ligne 15
Me revoilà je voulais savoir comment je peux faire pour créer un onglet pour chaque personne et indiquer le nom de la personne dans la case A9 de la fe uille modèle qui devra être dupliquée autant de fois qu'il y aura d e nom différents ensuite les données départements / description / montant autori sé dans cet ordre respectivement dans les colonnes A, C et F
j'espère que je n'abuse pas trop mais ça m'aiderait beaucoup Merci Audrey
Version classeurs:
Sub essai2() Application.DisplayAlerts = False ClasseurMaitre = ActiveWorkbook.Name [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange: =[H1], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c Workbooks.Add Workbooks(ClasseurMaitre).Sheets(1).[A1:D1000].AdvancedFilte r _ Action:=xlFilterCopy, _
CriteriaRange:=Workbooks(ClasseurMaitre).Sheets(1).Range("H1:H2 "), CopyToRange:=[A1] [A:A].Delete ActiveWorkbook.SaveAs Filename:=c.Value ActiveWorkbook.Close Next c End Sub
JB
Bonsoir je te remercie de ton aide super précieuse il y avait un petit dysfonctionnement que j'ai réglé je sais pas faire des macros comme ça mais je sais les modifi er pour les arranger (c'était juste une question de plage de cellules)
Merci
Essai avec création d'onglets ( on peut également créer des classeurs)
http://cjoint.com/?kFrDXu2gcE
Sub essai() Application.DisplayAlerts = False [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRa nge:=[H1], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c On Error Resume Next Sheets(c.Value).Delete Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = c Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCo py, _ CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRang e:=[A1] [A:A].Delete Next c End Sub
JB
Malheureusement je ne pense pas vu qu'il faut que je mette le résultat dans un autre document excel
Bonjour,
Un simple filtre auto ne suffit pas?
JB
Bonjour,
je suis sous Excel 2003 et je voudrais savoir comment f aire la manip suivante
j'ai une liste de personnes qui sont habilitées à v alider des factures sur certains départements pour la société A ou B jusq u'à un montant X
ce que je voudrais faire c'est des fiches récapitulat ives :
dans l'idéal en haut de ma récap je mets le nom de la personne pour qui on veut faire cette récap et ensuite dans le tableau en dessous cela me sort les différents départements avec leur description ainsi que le montant auquel ils sont autorisés
donc j'ai le tableau avec les colonnes suivantes : Dé partement / Description / Montant autorisé.
L'un de vous aurait il une idée ?
Merci d'avance Audrey
http://cjoint.com/?lcisg3wLFf
JB
merci encore,
je te joins un "extrait" de la base ce sont des données bidon et du
formulaire à remplir qui lui est le vrai
il faut que tu saches que certaines personnes vont presque avoir 100 lign es
dans leur fiche...
http://cjoint.com/?lcbxmLZPu8
MErci
Audrey
Bonjour,
Il faudrait un échantillon de la BD:
Sub CréeOngletsModèle()
Application.DisplayAlerts = False
[A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[H1 ],
Unique:=True
For Each c In Range("H2", [H65000].End(xlUp))
Sheets(1).[H2] = c
On Error Resume Next
Sheets(c.Value).Delete
On Error GoTo 0
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRange:=[A7:C 7]
[B2] = c.Value
Next c
End Sub
http://cjoint.com/?lboHumcEyL
JB
pour les données en A C F c'est à partir de la ligne 15
Me revoilà
je voulais savoir comment je peux faire pour créer un onglet pour chaque
personne et indiquer le nom de la personne dans la case A9 de la fe uille
modèle qui devra être dupliquée autant de fois qu'il y aura d e nom différents
ensuite les données départements / description / montant autori sé dans cet
ordre
respectivement dans les colonnes A, C et F
j'espère que je n'abuse pas trop mais ça m'aiderait beaucoup
Merci
Audrey
Version classeurs:
Sub essai2()
Application.DisplayAlerts = False
ClasseurMaitre = ActiveWorkbook.Name
[A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange: =[H1],
Unique:=True
For Each c In Range("H2", [H65000].End(xlUp))
Sheets(1).[H2] = c
Workbooks.Add
Workbooks(ClasseurMaitre).Sheets(1).[A1:D1000].AdvancedFilte r _
Action:=xlFilterCopy, _
CriteriaRange:=Workbooks(ClasseurMaitre).Sheets(1).Range("H1:H2 "),
CopyToRange:=[A1]
[A:A].Delete
ActiveWorkbook.SaveAs Filename:=c.Value
ActiveWorkbook.Close
Next c
End Sub
JB
Bonsoir je te remercie de ton aide super précieuse
il y avait un petit dysfonctionnement que j'ai réglé
je sais pas faire des macros comme ça mais je sais les modifi er pour les
arranger (c'était juste une question de plage de cellules)
Merci
Essai avec création d'onglets ( on peut également créer des
classeurs)
http://cjoint.com/?kFrDXu2gcE
Sub essai()
Application.DisplayAlerts = False
[A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRa nge:=[H1],
Unique:=True
For Each c In Range("H2", [H65000].End(xlUp))
Sheets(1).[H2] = c
On Error Resume Next
Sheets(c.Value).Delete
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = c
Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCo py, _
CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRang e:=[A1]
[A:A].Delete
Next c
End Sub
JB
Malheureusement je ne pense pas vu qu'il faut que je mette le résultat dans
un autre document excel
Bonjour,
Un simple filtre auto ne suffit pas?
JB
Bonjour,
je suis sous Excel 2003 et je voudrais savoir comment f aire la manip suivante
j'ai une liste de personnes qui sont habilitées à v alider des factures sur
certains départements pour la société A ou B jusq u'à un montant X
ce que je voudrais faire c'est des fiches récapitulat ives :
dans l'idéal en haut de ma récap je mets le nom de la personne pour qui on
veut faire cette récap et ensuite dans le tableau en dessous cela me sort les
différents départements avec leur description ainsi que le montant auquel ils
sont autorisés
donc j'ai le tableau avec les colonnes suivantes : Dé partement /
Description / Montant autorisé.
merci encore, je te joins un "extrait" de la base ce sont des données bidon et du formulaire à remplir qui lui est le vrai
il faut que tu saches que certaines personnes vont presque avoir 100 lign es dans leur fiche...
http://cjoint.com/?lcbxmLZPu8
MErci Audrey
Bonjour,
Il faudrait un échantillon de la BD:
Sub CréeOngletsModèle() Application.DisplayAlerts = False [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[H1 ], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c On Error Resume Next Sheets(c.Value).Delete On Error GoTo 0 Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = c Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRange:=[A7:C 7] [B2] = c.Value Next c End Sub
http://cjoint.com/?lboHumcEyL
JB
pour les données en A C F c'est à partir de la ligne 15
Me revoilà je voulais savoir comment je peux faire pour créer un onglet pour chaque personne et indiquer le nom de la personne dans la case A9 de la fe uille modèle qui devra être dupliquée autant de fois qu'il y aura d e nom différents ensuite les données départements / description / montant autori sé dans cet ordre respectivement dans les colonnes A, C et F
j'espère que je n'abuse pas trop mais ça m'aiderait beaucoup Merci Audrey
Version classeurs:
Sub essai2() Application.DisplayAlerts = False ClasseurMaitre = ActiveWorkbook.Name [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRange: =[H1], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c Workbooks.Add Workbooks(ClasseurMaitre).Sheets(1).[A1:D1000].AdvancedFilte r _ Action:=xlFilterCopy, _
CriteriaRange:=Workbooks(ClasseurMaitre).Sheets(1).Range("H1:H2 "), CopyToRange:=[A1] [A:A].Delete ActiveWorkbook.SaveAs Filename:=c.Value ActiveWorkbook.Close Next c End Sub
JB
Bonsoir je te remercie de ton aide super précieuse il y avait un petit dysfonctionnement que j'ai réglé je sais pas faire des macros comme ça mais je sais les modifi er pour les arranger (c'était juste une question de plage de cellules)
Merci
Essai avec création d'onglets ( on peut également créer des classeurs)
http://cjoint.com/?kFrDXu2gcE
Sub essai() Application.DisplayAlerts = False [A1:D1000].AdvancedFilter Action:=xlFilterCopy, CopyToRa nge:=[H1], Unique:=True For Each c In Range("H2", [H65000].End(xlUp)) Sheets(1).[H2] = c On Error Resume Next Sheets(c.Value).Delete Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = c Sheets(1).[A1:D1000].AdvancedFilter Action:=xlFilterCo py, _ CriteriaRange:=Sheets(1).Range("H1:H2"), CopyToRang e:=[A1] [A:A].Delete Next c End Sub
JB
Malheureusement je ne pense pas vu qu'il faut que je mette le résultat dans un autre document excel
Bonjour,
Un simple filtre auto ne suffit pas?
JB
Bonjour,
je suis sous Excel 2003 et je voudrais savoir comment f aire la manip suivante
j'ai une liste de personnes qui sont habilitées à v alider des factures sur certains départements pour la société A ou B jusq u'à un montant X
ce que je voudrais faire c'est des fiches récapitulat ives :
dans l'idéal en haut de ma récap je mets le nom de la personne pour qui on veut faire cette récap et ensuite dans le tableau en dessous cela me sort les différents départements avec leur description ainsi que le montant auquel ils sont autorisés
donc j'ai le tableau avec les colonnes suivantes : Dé partement / Description / Montant autorisé.