copier des valeur visible

Le
joseph84
Bonjour tout le monde,

voila mon problème je voudrais copier des valeur d'une colonne qui est
filtrer avec une macro puis apres la coller dans un autre fichier

le problème je n'arrive pas a trouver la plage de ma selection pour
que je puisse copier mes valeurs puisque le filtre n'est pas toujours
le même

J'espère que ma question est claire :)

Merci
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
isabelle
Le #23953221
bonjour Joseph,

Sub Selection_Des_Lignes_filtrées()
Dim plg As Range, x As Variant, x1 As String, x2 As String, xx As String
Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible)
x = Split(plg.Address, ",")
If UBound(x) = 0 Then
x1 = Cells(Range(x(0)).Row + 1, Range(x(0)).Column).Address ' premiere ligne filtrer
x2 = Split(x(0), ":")
xx = x2(UBound(x2)) ' derniere ligne filtrer
Range(x1 & ":" & xx).Select
Else
x1 = x(1) ' premiere ligne filtrer
xx = x(UBound(x)) ' derniere ligne filtrer
Range(x1 & ":" & xx).Select
End If
End Sub


--
isabelle



Le 2011-11-10 15:28, joseph84 a écrit :
Bonjour tout le monde,

voila mon problème je voudrais copier des valeur d'une colonne qui est
filtrer avec une macro puis apres la coller dans un autre fichier

le problème je n'arrive pas a trouver la plage de ma selection pour
que je puisse copier mes valeurs puisque le filtre n'est pas toujours
le même

J'espère que ma question est claire :)

Merci
isabelle
Le #23953331
petite correction,

il faut déclarer la variable x2 comme ça,

x2 As Variant

--
isabelle


Le 2011-11-10 19:17, isabelle a écrit :
bonjour Joseph,

Sub Selection_Des_Lignes_filtrées()
Dim plg As Range, x As Variant, x1 As String, x2 As String, xx As String
Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible)
x = Split(plg.Address, ",")
If UBound(x) = 0 Then
x1 = Cells(Range(x(0)).Row + 1, Range(x(0)).Column).Address ' premiere ligne filtrer
x2 = Split(x(0), ":")
xx = x2(UBound(x2)) ' derniere ligne filtrer
Range(x1 & ":" & xx).Select
Else
x1 = x(1) ' premiere ligne filtrer
xx = x(UBound(x)) ' derniere ligne filtrer
Range(x1 & ":" & xx).Select
End If
End Sub


joseph84
Le #23955901
Merci bcp Isabelle sa fonctionne très bien :)
Publicité
Poster une réponse
Anonyme