-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:=cell
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille
-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:=cell
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours à partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parcequesystematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
lestitres.
Ci dessous le code que j'utilise:
================ > >>Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
======================= > >>Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours à partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.
-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille
-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
les
titres.
Ci dessous le code que j'utilise:
================ > >>Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
======================= > >>Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours à partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même, plusieurs
personnes (dont je remercie) m'ont donné qq lignes de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parcequesystematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la dernière
ligne et copier après mais là je copie plusieurs fois
lestitres.
Ci dessous le code que j'utilise:
================ > >>Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
======================= > >>Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira à
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F CFA
en pièces de 10 centimes
.
.
-----Message d'origine-----
Il n'y a qu'une erreur dans le code proposé:
Destination:=Sheets("Liste").Range("A1").End(Xlup).Offset
(1)
Au lieu de A1, on devrait trouver "A65535" soit la
dernière cellule de la
colonne A.
Comme le nombre de lignes dépend de la version Excel, il
vaut mieux utiliser
par exemple
Destination := ActiveSheet.Cells(ActiveSheet.Rows.Count,
1).End(xlUp).Offset(1, 0)
A part çà , pour éviter d'utiliser "CurrentRegion" qui
peut parfois déborder
si on a la mauvaise idée d'ajouter un commentaire Ã
droite du tableau, on
peut désigner la zone filtrée via le mot clé
[_filterdatabase]
et la fonction SpecialCells(xlVisible) pour ne retenir
que les lignes visibles
par exemple
Set ZoneFiltrée= _
[_filterdatabase].SpecialCells(xlVisible)
Pour ne garder que les lignes sous le titre, on se
décale d'une ligne, en
réduisant aussi la zone d'une ligne
Set
LignesAffichées=Zonefiltrée.resize
(rowsize:=ZoneFiltrée.rows.count-1).offset(1,0)
un simple
LignesAffichées.select
permet de contrôler visuellement que la zone
sélectionnée est la bonne.
Lionel.
"Jed" wrote:Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours Ã
partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même,
plusieurs
personnes (dont je remercie) m'ont donné qq lignes
de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parcequesystematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la
dernière
ligne et copier après mais là je copie plusieurs
fois
lestitres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans
l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira
Ã
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F
CFA
en pièces de 10 centimes
.
.
.
-----Message d'origine-----
Il n'y a qu'une erreur dans le code proposé:
Destination:=Sheets("Liste").Range("A1").End(Xlup).Offset
(1)
Au lieu de A1, on devrait trouver "A65535" soit la
dernière cellule de la
colonne A.
Comme le nombre de lignes dépend de la version Excel, il
vaut mieux utiliser
par exemple
Destination := ActiveSheet.Cells(ActiveSheet.Rows.Count,
1).End(xlUp).Offset(1, 0)
A part çà , pour éviter d'utiliser "CurrentRegion" qui
peut parfois déborder
si on a la mauvaise idée d'ajouter un commentaire Ã
droite du tableau, on
peut désigner la zone filtrée via le mot clé
[_filterdatabase]
et la fonction SpecialCells(xlVisible) pour ne retenir
que les lignes visibles
par exemple
Set ZoneFiltrée= _
[_filterdatabase].SpecialCells(xlVisible)
Pour ne garder que les lignes sous le titre, on se
décale d'une ligne, en
réduisant aussi la zone d'une ligne
Set
LignesAffichées=Zonefiltrée.resize
(rowsize:=ZoneFiltrée.rows.count-1).offset(1,0)
un simple
LignesAffichées.select
permet de contrôler visuellement que la zone
sélectionnée est la bonne.
Lionel.
"Jed" wrote:
Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours Ã
partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:=cell
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.
-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range
("A1").End(Xlup).Offset(1)
Camille
-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même,
plusieurs
personnes (dont je remercie) m'ont donné qq lignes
de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtre
et un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parceque
systematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la
dernière
ligne et copier après mais là je copie plusieurs
fois
les
titres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:=cell
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans
l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira
Ã
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F
CFA
en pièces de 10 centimes
.
.
.
-----Message d'origine-----
Il n'y a qu'une erreur dans le code proposé:
Destination:=Sheets("Liste").Range("A1").End(Xlup).Offset
(1)
Au lieu de A1, on devrait trouver "A65535" soit la
dernière cellule de la
colonne A.
Comme le nombre de lignes dépend de la version Excel, il
vaut mieux utiliser
par exemple
Destination := ActiveSheet.Cells(ActiveSheet.Rows.Count,
1).End(xlUp).Offset(1, 0)
A part çà , pour éviter d'utiliser "CurrentRegion" qui
peut parfois déborder
si on a la mauvaise idée d'ajouter un commentaire Ã
droite du tableau, on
peut désigner la zone filtrée via le mot clé
[_filterdatabase]
et la fonction SpecialCells(xlVisible) pour ne retenir
que les lignes visibles
par exemple
Set ZoneFiltrée= _
[_filterdatabase].SpecialCells(xlVisible)
Pour ne garder que les lignes sous le titre, on se
décale d'une ligne, en
réduisant aussi la zone d'une ligne
Set
LignesAffichées=Zonefiltrée.resize
(rowsize:=ZoneFiltrée.rows.count-1).offset(1,0)
un simple
LignesAffichées.select
permet de contrôler visuellement que la zone
sélectionnée est la bonne.
Lionel.
"Jed" wrote:Bonjour Camille
merci pour ta réponse,
Je viens de le tester mais ça fonctionne à moitié :-(
Maintenant j'ai bien une seule ligne de titre mais les
lignes se copient les unes sur les autres.
Quand je récupère le premier filtrage, les lignes se
recopient bien, par contre le filtrage avec le critère
suivant vient effacer les premières lignes copiées.
J'ai l'impression que la copie se fait toujours Ã
partir
de A2 sur l'onglet "Recup".
Je n'arrive pas a positionner la copie sur la dernière
ligne du tableau.
le code après modif :
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=3, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1").End(xlUp).Offset(1)
Application.CutCopyMode = False
Next
Merci de ton aide.-----Message d'origine-----
Bonjour,
Devrait fonctionner :
Range("A1").CurrentRegion.Offset(1).Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range
("A1").End(Xlup).Offset(1)
Camille-----Message d'origine-----
Bonjour,
Suite à des questions que j'ai posée ici même,
plusieurs
personnes (dont je remercie) m'ont donné qq lignes
de
codes que j'essaie d'adapter. Mais je bute sur un pti
truc.
J'ai un onclet 'Recup" qui contient mes critères de
filtreet un onglet "liste" dans lequelle je dois copier les
lignes filtrées.
Problème je n'arrive qu'a copier une seule ligne
parcequesystematiquement je reecris le titre et les lignes a
partir de "A1". J'ai essaiyer de calculer la
dernière
ligne et copier après mais là je copie plusieurs
fois
lestitres.
Ci dessous le code que j'utilise:
=================
Rows("1:1").Select 'feuilles Données active
AutoFilterMode = False
Selection.AutoFilter
For Each cell In Sheets("Recup").UsedRange
Selection.AutoFilter Field:=1, Criteria1:Îll
Range("A1").CurrentRegion.Copy
Sheets("Liste").Paste Destination:=Sheets
("Liste").Range("A1") '--> C'est la que ca merdoie !!!
Application.CutCopyMode = False
Next
========================
Comment faire evoluer le numero de ligne pour pouvoir
copier les unes après les autres dans
l'onglet "Liste".
Ma réconnaissance éternelle et toute ma fortune ira
Ã
celui qui me dépannera... :-))
PS: Fortune estimée dans "Forbes" à ce jour : 200 F
CFA
en pièces de 10 centimes
.
.
.