Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Perte de collage

  • Initiateur de la discussion Initiateur de la discussion laurano
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

laurano

Guest
bonjour,

mon petit problème du jour lors de la construction de ma macro. Un truc tout bête, mais je vois pas comment m'en sortir : J'ai une liste, je fais un filtre et je ne filtre que les valeurs qui sont à 0. Alors je copie cette liste (qui ne contient que les valeurs 0). Je sélectionne toutes les valeurs à nouveau dans la liste (sans inactiver le filtre) puis je colle ce que j'ai copié à côté. Ainsi j'ai collé à côté de ma première liste une liste qui n'a que les valeurs 0.

Je veux faire la même chose via VBA et j'ai donc écrit les 4 lignes suivantes :

Range("A4").CurrentRegion.AutoFilter field:=2, Criteria1:=0
Range("A4").CurrentRegion.Copy
Range("A4").CurrentRegion.AutoFilter field:=2
Range("D4").PasteSpecial Paste:=xlPasteValues

Cette macro fait exactement la même chose, hormis que quand elle resélectionne tous les éléments de la liste (ligne 3), elle perd le collage et donc la dernière étape plante. quelqu'un saurait me dire pourquoi ?

Merci
 
Re : Perte de collage

Bonjour
tu peux essayer ceci
Range("A4").CurrentRegion.AutoFilter field:=2, Criteria1:=0
With Range("_FilterDataBase")
Set Rng = .Resize(.Rows.Count - 1, .Columns.Count).SpecialCells(xlCellTypeVisible)
rng.Copy range ("E"4)
'suppression du filtre
Selection.AutoFilter
Cordialement
Flyonets
 
Re : Perte de collage

super, ça marche !

Ceci dit, une fois de plus, on est obligé de contourner un problème qui ne devrait pas exister puisqu'en fait tu colles les données avant le changement du filtre. Mais bon, la fin justifie les moyens.. Ceci dit, tu peux m'expliquer par quel miracle ça s'accomplit ? Parce que je comprend pas bien ta ligne de code et je ne comprend pas pourquoi elle fait ce qu'elle fait. J'aimerais bien comprendre histoire de pouvoir reproduire la prochaine fois où le cas se présentera.

Merci beaucoup en tout cas
 
Re : Perte de collage

Bonjour,

petite info au passage, l'utilisation de "SpecialCells(xlCellTypeVisible)" n'est pas nécessaire lorsque l'on utilise la plage "_FilterDataBase", c'est la plage filtrée qui sera prise en compte... d'autre part, "SpecialCells(xlCellTypeVisible)", peut renvoyer une erreur si aucune cellule ne correspond aux critères du filtre...

bon après midi
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
856
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…