-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près de
150 personnes Diferente a chaque foi d'ou mon souhait de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et de
la manière, inconnue à ce jour, de dispatcher les dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près de
150 personnes Diferente a chaque foi d'ou mon souhait de
trouver une macro qui analyse la colonne "D" et qui
imprime
les ligne corespondantes
Merci
-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à près
de
150 personnes ou chaque fichier ne possède qu'un seul
nom ?
2. dans les deux cas, la macro demande le répertoire de
travail, ouvre chaque fichier, détermine le
correspondant
de la colonne D.
Ensuite tout dépend de la réponse à la question 1. et de
la manière, inconnue à ce jour, de dispatcher les dites
impressions.
Mais c'est faisable simplement.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près de
150 personnes Diferente a chaque foi d'ou mon souhait de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et de
la manière, inconnue à ce jour, de dispatcher les dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'======================== ===
Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name =
CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'======================== ===-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'======================== ===
Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name =
CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:=False
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'======================== ===
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprime
les ligne corespondantes
Merci
-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de
150 personnes ou chaque fichier ne possède qu'un seul
nom ?
2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondant
de la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'======================== ===
Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name =
CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'======================== ===-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprime
les ligne corespondantes
Merci
-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de
150 personnes ou chaque fichier ne possède qu'un seul
nom ?
2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondant
de la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprime
les ligne corespondantes
Merci
-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de
150 personnes ou chaque fichier ne possède qu'un seul
nom ?
2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondant
de la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
Merci pour votre réponse
cela convient a ce que je cherchais
juste un petit pblm
ma ligne de titre commence a la ligne 8
et je voudrait que les lignes 1 à 8 se répète sur toute
les impressions
Mon Mail-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents encolonne D puis crée une feuille par nom et y copie les
données qui concerne cenom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, sileur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== > >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value'crée une feuille par nom et y colle les données qui le
concerne'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name > CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== > >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de150 personnes Diferente a chaque foi d'ou mon souhait
detrouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
prèsde150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
detravail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
dela manière, inconnue à ce jour, de dispatcher les
ditesimpressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servird'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
Merci pour votre réponse
cela convient a ce que je cherchais
juste un petit pblm
ma ligne de titre commence a la ligne 8
et je voudrait que les lignes 1 à 8 se répète sur toute
les impressions
Mon Mail jean-pierre.huet@marsh.com
-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents en
colonne D puis crée une feuille par nom et y copie les
données qui concerne ce
nom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, si
leur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== > >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)
On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value
'crée une feuille par nom et y colle les données qui le
concerne
'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name > CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_
Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== > >
-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de
150 personnes Diferente a chaque foi d'ou mon souhait
de
trouver une macro qui analyse la colonne "D" et qui
imprime
les ligne corespondantes
Merci
-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
près
de
150 personnes ou chaque fichier ne possède qu'un seul
nom ?
2. dans les deux cas, la macro demande le répertoire
de
travail, ouvre chaque fichier, détermine le
correspondant
de la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
de
la manière, inconnue à ce jour, de dispatcher les
dites
impressions.
Mais c'est faisable simplement.
-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au
150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servir
d'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.
Merci pour votre réponse
cela convient a ce que je cherchais
juste un petit pblm
ma ligne de titre commence a la ligne 8
et je voudrait que les lignes 1 à 8 se répète sur toute
les impressions
Mon Mail-----Message d'origine-----
Bonjour,
La macro ci-dessous récupère dans une collection la liste
des noms différents encolonne D puis crée une feuille par nom et y copie les
données qui concerne cenom.
J'ai supposé une ligne d'entêtes en ligne 1.
Si le tri ne prend pas toutes les données en compte, il
faudrait remplacer
ColonneD.CurrentRegion.AdvancedFilter
par
Range("A1:F3000").AdvancedFilter 'par exemple
En fin de procédure, les feuilles de tous les noms sont
sélectionnées et, sileur mise en forme est OK, peuvent être imprimées dans la
foulée.
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
'========================== > >Sub ImprimeParPersonne()
Dim CollNoms As New Collection, i&
Dim ColonneD As Range, cell As Range
Dim FeuilleSource As Worksheet, FeuilleCible As Worksheet
Set FeuilleSource = Worksheets("Feuil1")
Set ColonneD = _
FeuilleSource.Range("D2:D" & Cells(Rows.Count, 4).End
(xlUp).Row)On Error Resume Next
'récupère la liste des noms
For Each cell In ColonneD
CollNoms.Add cell.Value, cell.Text
Next cell
On Error GoTo 0
FeuilleSource.Range("IV1").Value = FeuilleSource.Range
("D1").Value'crée une feuille par nom et y colle les données qui le
concerne'en filtrant la liste
Application.ScreenUpdating = False
For i = 1 To CollNoms.Count
Sheets.Add(after:=Sheets(Sheets.Count)).Name > CollNoms(i)
With FeuilleSource
.Range("IV2").Value = CollNoms(i)
ColonneD.CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("IV1:IV2"), _
CopyToRange:=Sheets(CollNoms(i)).Range("A1"),
_Unique:úlse
End With
Next i
FeuilleSource.Range("IV1:IV2").Clear
'remplacer PrintPreview par PrintOut pour imprimer
For i = 1 To CollNoms.Count
Sheets(CollNoms(i)).Select (False)
Next
ActiveWindow.SelectedSheets.PrintPreview
End Sub
'========================== > >-----Message d'origine-----
Bonjour
Chaque fichier comprend des lignes appartenant à près
de150 personnes Diferente a chaque foi d'ou mon souhait
detrouver une macro qui analyse la colonne "D" et qui
imprimeles ligne corespondantes
Merci-----Message d'origine-----
Bonjour,
Pour bien comprendre le problème :
1.chaque fichier comprend des lignes appartenant à
prèsde150 personnes ou chaque fichier ne possède qu'un seul
nom ?2. dans les deux cas, la macro demande le répertoire
detravail, ouvre chaque fichier, détermine le
correspondantde la colonne D.
Ensuite tout dépend de la réponse à la question 1. et
dela manière, inconnue à ce jour, de dispatcher les
ditesimpressions.
Mais c'est faisable simplement.-----Message d'origine-----
J'ais des fichiers de + 3000 lignes avec dans la
colonne «D» 150 noms différents
Et je doit dispatcher les impression de ces fichiers
au150 personnes différents
Chaque un pour sa partie
Sachant qu'a chaque fois les noms des personnes est
différent
Je me sert du filtre mais j'aimerais pouvoir me
servird'un macro
Quelque un pourrait-il me donner la solution
.
.
.
.