Coller-copier après un filtre

Le
domivax
Bonjour à tous,

J'ai une feuille « ListeCartes » qui comprend toutes mes données.
Ligne 1 = Ligne de titres, à partir de la ligne 2 = les données.
Après un filtre, je dois copier et coller les données visibles sur une
feuille « Facture » colonnes après colonnes.

Si je n'ai aucune ligne visible ma macro marche grâce au If
Appliaction.Subtotal(3, Range..) = 0 Then, si j'ai plus de 2 lignes
visibles, ma macro est exécutée parfaitement, par contre si je n'ai
qu'une ligne visible la macro me copie également la ligne des titres
en plus de la donnée de la seule ligne visible.

Il me manque visiblement (c'est peu de le dire) une code après le Exit
Sub :

If Application.Subtotal(3, Range("A2:A10000")) = 1 Then
Set r = ????

??? étant une variable que je n'arrive pas à composer.

Merci pour votre aide.
A bientôt
Xavier


Ma macro :

Sub CollerCopierFacture()

'colonne 1

Worksheets("ListeCartes").Activate

If Application.Subtotal(3, Range("A2:A10000")) = 0 Then
Exit Sub
Else

Set r = Range("ListeCartes!C2:" &
Worksheets("ListeCartes").Range("C65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("A6")


'colonne 2

Set r = Range("ListeCartes!F2:" &
Worksheets("ListeCartes").Range("F65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("B6")


'colonne 3

Set r = Range("ListeCartes!U2:" &
Worksheets("ListeCartes").Range("U65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("C6")
End If
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4943271
Bonjour,

Copie une zone filtrée :

http://cjoint.com/?gelSjJoCiG

Sheets("result").[A2:G1000].ClearContents
If Application.Subtotal(3, [A1:A1000]) > 1 Then
Range("A2", [G65000].End(xlUp)).Copy Sheets("result").[A2]
End If

JB



On 4 juin, 10:25, wrote:
Bonjour à tous,

J'ai une feuille « ListeCartes » qui comprend toutes mes données.
Ligne 1 = Ligne de titres, à partir de la ligne 2 = les données.
Après un filtre, je dois copier et coller les données visibles sur une
feuille « Facture » colonnes après colonnes.

Si je n'ai aucune ligne visible ma macro marche grâce au If
Appliaction.Subtotal(3, Range.....) = 0 Then, si j'ai plus de 2 lignes
visibles, ma macro est exécutée parfaitement, par contre si je n'ai
qu'une ligne visible la macro me copie également la ligne des titres
en plus de la donnée de la seule ligne visible.

Il me manque visiblement (c'est peu de le dire) une code après le Exit
Sub :

If Application.Subtotal(3, Range("A2:A10000")) = 1 Then
Set r = ????

??? étant une variable que je n'arrive pas à composer.

Merci pour votre aide.
A bientôt
Xavier

Ma macro :

Sub CollerCopierFacture()

'colonne 1

Worksheets("ListeCartes").Activate

If Application.Subtotal(3, Range("A2:A10000")) = 0 Then
Exit Sub
Else

Set r = Range("ListeCartes!C2:" &
Worksheets("ListeCartes").Range("C65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("A6")

'colonne 2

Set r = Range("ListeCartes!F2:" &
Worksheets("ListeCartes").Range("F65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("B6")

'colonne 3

Set r = Range("ListeCartes!U2:" &
Worksheets("ListeCartes").Range("U65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("C6")
End If
End Sub


Ellimac
Le #4943091
Bonjour,

Pour tester à partir d'une ligne de résultat :
Sub Macro2()
Range("a1").CurrentRegion.SpecialCells(xlCellTypeVisible).Select
Selection.Offset(1).Select
deb = ActiveCell.Address
SendKeys "+{tab}", True
fin = ActiveCell.Address
Range(Range(deb), Range(fin)).Copy
End Sub

Camille

"" wrote:

Bonjour à tous,

J'ai une feuille « ListeCartes » qui comprend toutes mes données.
Ligne 1 = Ligne de titres, à partir de la ligne 2 = les données.
Après un filtre, je dois copier et coller les données visibles sur une
feuille « Facture » colonnes après colonnes.

Si je n'ai aucune ligne visible ma macro marche grâce au If
Appliaction.Subtotal(3, Range.....) = 0 Then, si j'ai plus de 2 lignes
visibles, ma macro est exécutée parfaitement, par contre si je n'ai
qu'une ligne visible la macro me copie également la ligne des titres
en plus de la donnée de la seule ligne visible.

Il me manque visiblement (c'est peu de le dire) une code après le Exit
Sub :

If Application.Subtotal(3, Range("A2:A10000")) = 1 Then
Set r = ????

??? étant une variable que je n'arrive pas à composer.

Merci pour votre aide.
A bientôt
Xavier


Ma macro :

Sub CollerCopierFacture()

'colonne 1

Worksheets("ListeCartes").Activate

If Application.Subtotal(3, Range("A2:A10000")) = 0 Then
Exit Sub
Else

Set r = Range("ListeCartes!C2:" &
Worksheets("ListeCartes").Range("C65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("A6")


'colonne 2

Set r = Range("ListeCartes!F2:" &
Worksheets("ListeCartes").Range("F65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("B6")


'colonne 3

Set r = Range("ListeCartes!U2:" &
Worksheets("ListeCartes").Range("U65536").End(xlUp).Address)
Set r = r.SpecialCells(xlCellTypeVisible)

r.Copy
ActiveSheet.Paste Destination:=Worksheets("Facture").Range("C6")
End If
End Sub




Publicité
Poster une réponse
Anonyme