Supprésion des lignes filtrées visibles _ VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
B
Blackswan
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 21 février 2018
Version d'Excel : 2010

Message par Blackswan » 27 mars 2018, 09:35

Bonjour à Tous et à Toutes
J'ai un soucis concernant la suppression des lignes sur un fichier excel, en fait j'ai un code VBA qui copie et colle des données dans un onglet et filtre sur une colonne, j'aimerai un fragment de code qui selectionnerait uniquement les lignes filtrées visibles et les supprimeraient , dans ce cas présent c'est la colonne F filtrées sur les #NA
Merci à vous

Sheets("Exports Euclide").Select
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("B5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("F2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("C5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("B2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("E5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("G5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("H5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("E2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("I5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("G2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("L5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("H2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("M5").Select
ActiveSheet.Paste

Sheets("Exports Euclide").Select
Range("j2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("o5").Select
ActiveSheet.Paste



Sheets("Exports Euclide").Select
Range("k2:s2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Test Macro3").Select
Range("p5:x5").Select
ActiveSheet.Paste
Sheets("Test Macro3").Select
Rows("4").AutoFilter
ActiveSheet.Range("$A$4:$WWE$3964").AutoFilter Field:=6, Criteria1:="#N/A"
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'361
Appréciations reçues : 231
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 27 mars 2018, 09:49

bonjour

mon avis de moi personnel :wink:
ne pas copier/coller des données, ne jamais effacer, ne pas faire de VBA

pour visualiser un extrait de données, il suffit en général de créer un TCD et de filtrer (avec des segments c'est encore mieux)
essaye aussi Power Query (grâce au menu Données/Récupérer des données)

VBA n'est pas la solution, c'est le problème
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
B
Blackswan
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 21 février 2018
Version d'Excel : 2010

Message par Blackswan » 27 mars 2018, 09:57

Merci pour ta contribution JMD, mais le fichier doit etre envoyé à des tiers avec données précises je suis obligé de passer par la suppréssion
j
jmd
Fanatique d'Excel
Fanatique d'Excel
Messages : 10'361
Appréciations reçues : 231
Inscrit le : 8 décembre 2007
Version d'Excel : 365 + PowerBI

Message par jmd » 27 mars 2018, 10:05

re

alors tu peux :

- faire un TCD, puis sur ce TCD un copier / collage spécial valeurs (pour cela, tu t'autoriseras une toute petite macro :wink: )
- ou bien Power Query dans un classeur séparé (PQ sait filtrer). Si tu ne joins pas les données de départ, les utilisateurs ne pourront pas accéder à ces données).
Apprenez les fonctions d'Excel.
Exemple "Mettre sous forme de tableau", TCD, "Récupérer des données".
Apprendre les fonctionnalités "récentes".
B
Braters
Membre dévoué
Membre dévoué
Messages : 580
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 27 mars 2018, 10:12

Bonjour,

Voici le code pour supprimer les ligne visible logiquement :
ActiveSheet.Range("$A$5:$WWE$3964").SpecialCells(xlCellTypeVisible).Delete Shift:=Up
Cependant, jmd n'a pas tord, pense à utiliser les fonctions Excel qui permettent de faire bien des choses :P

A plus !
:btres:
B
Blackswan
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 21 février 2018
Version d'Excel : 2010

Message par Blackswan » 27 mars 2018, 10:40

Braters a écrit :
27 mars 2018, 10:12
Bonjour,

Voici le code pour supprimer les ligne visible logiquement :
ActiveSheet.Range("$A$5:$WWE$3964").SpecialCells(xlCellTypeVisible).Delete Shift:=Up
Cependant, jmd n'a pas tord, pense à utiliser les fonctions Excel qui permettent de faire bien des choses :P

A plus !
Merci Braters mais le code ne marche pas je t'ai mis en pièce jointe la dernière les captures d'écran de la drnière ligne de code ainsi que le méssage d'érreur affiché
Capture5.PNG
Capture5.PNG (14.41 Kio) Vu 127 fois
ligne de code et le message affiché
Capture5.PNG
Capture5.PNG (14.41 Kio) Vu 127 fois
Capture6.PNG
Capture6.PNG (8.85 Kio) Vu 127 fois
B
Braters
Membre dévoué
Membre dévoué
Messages : 580
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 27 mars 2018, 12:19

Re,

Essaye d'enlever le "Shift:=Up", ca fonctionne chez moi !

A plus
:btres:
B
Blackswan
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 21 février 2018
Version d'Excel : 2010

Message par Blackswan » 27 mars 2018, 14:20

Braters a écrit :
27 mars 2018, 12:19
Re,

Essaye d'enlever le "Shift:=Up", ca fonctionne chez moi !

A plus
Merci Braters , ça buggue chez moi, j ai l’impression que excel n'a pas assez de mémoire pour effectuer la dernière opération, car il m'affiche un message d’absence de ressource nécessaire à la réalisation de la tache avant de basculer en erreur et debogage
B
Braters
Membre dévoué
Membre dévoué
Messages : 580
Appréciations reçues : 10
Inscrit le : 23 décembre 2015
Version d'Excel : 2013 FR

Message par Braters » 27 mars 2018, 14:49

voilà le test que j'ai fait chez moi, je te laisse essayer.

Sinon une copie de ton fichier pourrait nous aider à trouver d'où vient le problème.

A plus
Test suppr ligne.xlsm
(16.75 Kio) Téléchargé 13 fois
:btres:
B
Blackswan
Membre fidèle
Membre fidèle
Messages : 154
Inscrit le : 21 février 2018
Version d'Excel : 2010

Message par Blackswan » 27 mars 2018, 17:04

Braters a écrit :
27 mars 2018, 14:49
voilà le test que j'ai fait chez moi, je te laisse essayer.

Sinon une copie de ton fichier pourrait nous aider à trouver d'où vient le problème.

A plusTest suppr ligne.xlsm
Braters bizarrement j'ai repris le bout de code de ta macro et ça marche nickel chrome , une dernière demande stp, peut eviter de passer par la question qui nous demande de cocher ok pour supprimer les lignes? si oui comment? Neanmoins merci pour le fichier avec la macro c'est top :mrgreen:

A plus
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message