Supprésion des lignes filtrées visibles _ VBA

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"

bonjour

mon avis de moi personnel

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

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

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 )
  • 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).

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

A plus !

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

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

ligne de code et le message affiché

capture5 capture6

Re,

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

A plus

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

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

110test-suppr-ligne.xlsm (16.75 Ko)

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

A plus

Bonjour,

Il est en effet possible de le faire en mettant en début de macro (En dessous du Sub()) ceci :

Application.DisplayAlerts = False

A plus !

Bonjour,

Il est en effet possible de le faire en mettant en début de macro (En dessous du Sub()) ceci :

Application.DisplayAlerts = False

A plus !

Merci resolu

Salut Braters et vraiment désolé de te déranger une fois de plus , ce matin j ai ouvert mon fichier et la macro merde de nouveau pour supprimer les lignes apres le tri je ne sais pas ou ça cloche je te le met en lien merci

le but est de prendre des données dans le premier onglet et les coller dans le second puis faire un filtre et supprimer les #NA, le code fonctionne deja jusqu'a la selection après filtre mais ca buggue pour supprimer merci

Salut,

je pense que ton problème vient du fichier en lui même, il utilise des ressources pour des cellules vides je pense vu le temps qu'il met à s'ouvrir et empêche certaines actions comme supprimer des lignes car même manuellement je n'ai pas réussi à en supprimer 1.

Le mieux serait de recréer un fichier en recollant ta base et réessayer la macro.

PS : le fichier que tu m'as joint est inutilisable, je ne vois que la moitié des feuilles

A plus

Rechercher des sujets similaires à "suppresion lignes filtrees visibles vba"