Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XL2007 specialcells visible

4 réponses
Avatar
le Nordiste
Bonjour,

Je travaille sur XL2007.

Sur la feuille "ANA" j'ai plus de 100 000 lignes de donn=E9es.
Je place un filtre en colonne "H" avec un crit=E9re "MonCrit=E9re"
et je d=E9sire copier les lignes s=E9lectionn=E9es dans la feuille "BRO"

J'essaye avec specialcell visible mais sans succ=E9s ; pouvez vous
m'aider ?

Avec mes remerrciements anticip=E9s

4 réponses

Avatar
Jacquouille
Bonjour
Je n'ai pas 2007, mais sur l'anciene version, n'existe-t-il pas une option
"filtrer sur place ou dans une autre feuille"?

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"le Nordiste" a écrit dans le message de news:

Bonjour,

Je travaille sur XL2007.

Sur la feuille "ANA" j'ai plus de 100 000 lignes de données.
Je place un filtre en colonne "H" avec un critére "MonCritére"
et je désire copier les lignes sélectionnées dans la feuille "BRO"

J'essaye avec specialcell visible mais sans succés ; pouvez vous
m'aider ?

Avec mes remerrciements anticipés
Avatar
michdenis
Bonjour,

après avoir exécuté un filtre, tu peux employer l'une
de ces 2 procédures pour copier les lignes visibles

Celle-ci copie toutes les lignes visibles de la plage filtrée
'---------------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("_FilterDataBase").SpecialCells(xlCellTypeVisible)
.Copy Worksheets("Feuil3").Range("A1")
End With
End With
End Sub
'-------------------------------------------

Celle-ci copie toutes les lignes visibles de la la plage filtrée
mois la ligne d'en-tête de la plage filtrée
'-------------------------------------------
Sub test1()
Dim Rg As Range
With Feuil2 ' Worksheets("Feuil1")
Set Rg = .Range("_FilterDataBase")
With Rg
With .Offset(1).Resize(Rg.Rows.Count - 1)
.SpecialCells(xlCellTypeVisible).Copy Worksheets("Feuil3").Range("A1")
End With
End With
End With
End Sub
'-------------------------------------------



"le Nordiste" a écrit dans le message de groupe de discussion
:
Bonjour,

Je travaille sur XL2007.

Sur la feuille "ANA" j'ai plus de 100 000 lignes de données.
Je place un filtre en colonne "H" avec un critére "MonCritére"
et je désire copier les lignes sélectionnées dans la feuille "BRO"

J'essaye avec specialcell visible mais sans succés ; pouvez vous
m'aider ?

Avec mes remerrciements anticipés
Avatar
le Nordiste
Désolé michdenis,


J'ai un message d' erreur 1004 excell ne peut pas créer ni utiliser
la plage car celle ci est trop complexe
à la ligne
With .Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) de la
première procédure

J'ai essayé en réduisant la taille de mon fichier de 100 000 lignes
- 50 000, 10 000, jusqu'à 1 000 lignes et donnant 450 lignes
distinctes aprés filtrage pour que ça marche.
de toute façon je m'imagine mal traiter mes 100 000 lignes par blocs
de 1000 lignes

merci de ton aide
Avatar
michdenis
Je n'ai jamais fait des filtres sur une plage de 100,000 lignes...
La méthode utilisée a peut-être des limites... je n'en sais rien...

Cependant, au lieu d'utiliser le filtre automatique, tu peux employer
le filtre avancé (élaboré). Et si tu désires obtenir le résultat dans la
feuille de ton choix autre que la feuille où sont tes données de base,
Tu détermines une zone de critère utilisant au moins 2 cellules :
A1 Étiquette de la colonne sur laquelle tu établis un critère
A2 ton critère

Dans la feuille de destination, tu peux déterminer les champs(colonnes)
qui seront copiés parmi ceux de ton tableau des données. Pour ce faire,
tu fais un copier-coller des titres des champs des colonnes de ton tableau de base
(seulement ceux qui t'intéressent) vers la ligne d'étiquette de ta feuille de
destination. Si tu veux tout copier, tu n'indiqueras à la fenêtre du filtre élaboré
que la première cellule de départ où il devra copier le résultat.

IMPORTANT : tu dois OBLIGATOIREMENT appeler la commande du filtre
élaboré à partir de ta feuille de destination.



"le Nordiste" a écrit dans le message de groupe de discussion
:
Désolé michdenis,


J'ai un message d' erreur 1004 excell ne peut pas créer ni utiliser
la plage car celle ci est trop complexe
à la ligne
With .Range("_FilterDataBase").SpecialCells(xlCellTypeVisible) de la
première procédure

J'ai essayé en réduisant la taille de mon fichier de 100 000 lignes
- 50 000, 10 000, jusqu'à 1 000 lignes et donnant 450 lignes
distinctes aprés filtrage pour que ça marche.
de toute façon je m'imagine mal traiter mes 100 000 lignes par blocs
de 1000 lignes

merci de ton aide