A voir également:
- Specialcells(xlcelltypevisible).copy
- Tableau croisé dynamique - Guide
- Photo filtre gratuit - Télécharger - Retouche d'image
- Tableau ascii - Guide
- Tableau word - Guide
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
1 réponse
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
15 févr. 2014 à 11:07
15 févr. 2014 à 11:07
Bonjour,
Pour ne sélectionner et copier que la zone filtrée, avec toutes les colonnes du tableau.
en supposant que le tableau commence à la ligne 3, entêtes compris:
cdlt
Pour ne sélectionner et copier que la zone filtrée, avec toutes les colonnes du tableau.
en supposant que le tableau commence à la ligne 3, entêtes compris:
NbCol = [IV3].End(xlToLeft).Column 'recherche la dernière colonne. Range("_FilterDataBase").Resize(, NbCol).SpecialCells(xlCellTypeVisible).Copypuis sélectionnez uniquement la cellule à partir de laquelle sera recopié le tableau,(inutile de balayer toute une surface égale à la surface du tableau).
cdlt
16 févr. 2014 à 17:27
Merci beaucoup Frenchie83 pour votre réponse.
En mettant votre code j'ai bien que les données filtrées visibles (ce que j'arrivais à faire).
Désolé, je me suis mal expliquée, je veux que ca filtre sur le critère mais aussi qu'on ait pas accès aux autres données non filtrées.
Merci d'avance pour votre aide.
Cdt
16 févr. 2014 à 17:52
Finalement, j'ai contourné mon problème en supprimant les lignes qui ne m'intéresse pas.
Sub macro11()
Dim chemin As String
chemin = "Macintosh HD:Users:nassssou:Desktop:DEFI :"
Sheets("Base").Select
ActiveSheet.Range("$A$2:$IL$12000").AutoFilter Field:=2, Criteria1:="PARIS"
With ThisWorkbook.Sheets("Base")
'je précise le nom de la feuille
For i = .Range("B" & .Rows.Count).End(xlUp).Row To 3 Step -1
'je travaille sur la colonne B
'Rows.count 'permet de retourner le nombre de ligne de la plage range
If .Range("B" & i).Value <> "PARIS" Then
.Rows(i).Delete
End If
Next i
End With
ActiveWorkbook.SaveAs Filename:=chemin & " PARIS " & Format(Date, "mm-dd")
ActiveWindow.Close
ActiveWorkbook.Save
End Sub
Encore merci