CopierCollerSansLignesCachées

M

Moa

Guest
Re à Toutes et tous !

Voilà, j'ai une macro qui me sélectionne des lignes selon un critère mis en colonne A, et qui me cache toutes les lignes répondant à ce critère.

Jusque-là, aucun problème.

Mais, maintenant, je sélectionne les lignes restantes et je fais un copier coller sur une autre feuille.

Et là, surprise, j'ai de nouveau toutes mes lignes, dont celles cachées.

Et justement mon but est de ne recopier que les lignes visibles.

J'ai cherché du côté des Paste/Special, rien à y faire.

Au début, j'avais une macro, qui me deletait, ces lignes, mais ce système ne me convient pas, pour plusieurs raisons.

Si quelqu'un a déjà fait ça...et bien Merci d'avance de bien vouloir éclairer ma lanterne.

@ +

Moa
 
M

Mytå

Guest
Moa :)

Sub Macro1()
If Cells(1, 5).EntireColumn.Hidden = True Then
Range("A1").Value = True
Else
Range("A1").Value = False
End If
End Sub
pour verifier une cellule cacher suffit de faire un for...next pour finir le travail

Myta

esperant tu feras de quoi avec cette condition :)

Mytå
 
M

Mytå

Guest
re Moa

avec le fichier de tantot voila une macro

Sub copiersansvide()
Dim a As Long, b As Byte, c As Byte, e As Byte, f As Byte
Dim text As String

a = ActiveCell.Row
b = ActiveCell.Column
c = Range("iv" & a).End(xlToLeft).Column
text = ""

For i = b + 1 To c
If Cells(a, i).EntireColumn.Hidden = True Then GoTo step
If Cells(a, i) <> "" Then
If text <> "" Then text = text & ","
If i < 27 Then
text = text & Chr$(64 + i) & a
Else
e = Int(i / 26): f = i - e * 26
text = text & Chr$(64 + e) & Chr$(64 + f) & a
End If
End If
step:
Next i

Range("" & text & "").Select
Selection.Copy
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

End Sub

a adapter Mytå º¿º
 
M

Moa

Guest
Re

Voilà, mon fichier de 19 Mo est réduit à 22k, donc je peux le mettre sur le forum.

Car je viens de tester ta macro, et malgré des petits changements, je n'arrive pas à l'adapter.

Je pense qu'il doit y avoir une solution plus simple.

Merci

@ +

Moa
 

Pièces jointes

  • FiltreTest.xls
    21.5 KB · Affichages: 57
A

andré

Guest
Salut Moa,

Cette fois-ci, t'as raison : il y a plus simple !

Tu fais F5 / Cellules / Cellules visbles seulement / OK / Copier.
Tu changes de feuille et tu colles.

Dans la vie, il est moins imporant de tout savoir, que de savoir qui sait.

C'est pas beau çà ?
André.
 
M

Moa

Guest
Voilà la petite macro !

Sheets("Feuil1").Select


Range("C39:O39").Select
Range(Selection, Selection.End(xlDown)).Select


Selection.SpecialCells(xlCellTypeVisible).Select
Application.CutCopyMode = False
Selection.Copy

Sheets("Feuil2").Select
Range("B1").Select
ActiveSheet.Paste


@ +

Moa
 

Discussions similaires

Réponses
12
Affichages
269