Sélectionner/copier les cellules d'une colonne filtrée

Bonjour à tous.

Il y a quelque chose que je parviens difficilement à faire (j'ai contourné), c'est de sélectionner toutes les cellules d'une colonne filtrées.

En effet, j'utilise très fréquemment UsedRange dans mes macros et lors d'une formation (de débutant de quelques jours), le formateur m'a conseillé de ne pas utiliser les End (xslend): J'ai donc pris le pli de toujours utiliser UsedRange et de faire toutes mes macros "en dynamique" (pas de références de cellules figées).

Le problème, c'est que si j'ai 2650 lignes et que j'applique un filtre sur une colonne qui, pour le coup, affiche 739 lignes et que je veux copier ces 739 lignes en utilisant usedRange, ça ne fonctionne pas.

UsedRange me renvoie les 2650 lignes et non les 739 que je veux copier.

Idem pour CurrentRegion.

Du coup, je copie la colonne entière, mais je me retrouve avec la têtière à supprimer à chaque nouveau copier-coller.

Comment sélectionner/copier les cellules d'une colonne filtrée ?

Et s'il y a plusieurs façons, c'est encore mieux !

Merci d'avance pour vos lumières.

bonjour,

Regarde ce code (qui n'est pas de moi) et modifie le pour toi

Sub selectLignVisible()
Application.ScreenUpdating = False
Range("A1", Range("A65536" ).End(xlUp)).Select
'on place dans un tableau les N° de lignes visibles
Dim Tablo As New Collection, cellule As Range
For Each cellule In Selection.SpecialCells(xlCellTypeVisible)
On Error Resume Next
Tablo.Add cellule.Row, CStr(cellule.Row)
Next
'on reprend les N° de lignes depuis la fin du tableau
For i = Tablo.Count To 0 Step -1
'placer ici le traitement désiré et supprimer le msgbox
MsgBox Tablo(i)
Next
Application.ScreenUpdating = True
End Sub

Bonjour M12.

Merci pour ta réponse.

Mais c'est super alambiqué ou c'est moi qui manque de discernement !

C'est quand même compliqué, non ?

Et l'enregistreur de macros ne me permet pas de trouver quelque chose de satisfaisant.

Merci pour le bout de code, mais je vais en rester à ma colonne entière copiée.

Bonne journée.

re,

si il n'y a qu'une seule colonne, tente avec cela après avoir filtré

Sheets("Feuil2").Range("A1:a5000").SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil2").Range("A1")

Rechercher des sujets similaires à "selectionner copier colonne filtree"