Suppression massive de lignes

Bonjour,

Régulièrement, je dois faire des extractions de notre logiciel. Pour simplifier mon travail par la suite et celui de mes collaborateur j'ai besoin de supprimer des milliers de lignes. (les extractions vont de quelques lignes à 45000 environ)

Parfois, j'ai un critère et parfois 2-3-4... critères.

Par exemple colonne K, supprimer toutes les lignes contenant DLA. Ou 2eme exemple, toujours colonne K, supprimer celles qui contiennent MVS, HTA, ...

Cela peut représenter deux, trois ou des dizaines de milliers de lignes de supprimé.

J'ai tenté quelques macros mais sans succès et parfois je rencontre l'erreur 6 - dépassement de capacités.

Bonne journée

Bonjour à tous !

Et....

Avez-vous étudié la piste Power Query (nativement intégré dans Microsoft 365) ?

Si besoin, merci de joindre un fichier, anonymisé mais représentatif, accompagné d'exemples du résultat attendu.

Bonjour

Pour comprendre pourquoi le code VBA tombe en dépassement de capacités, pourrait t'on t'aider à mettre en qualité le code VBA : 3 conseils

1- les variables doivent être déclarées : utiliser Option Explicit en entête de module

2- boucler de la dernière ligne à la première (step -1)

3- Comme il y a plusieurs critères, éviter de boucler plusieurs fois sur l'ensemble des lignes

Soit : pou chaque ligne, tester chaque critère

Je ne maitrise pas Power Query. Je vais me renseigner.

Le fichier est trop lourd... :/ Je ne peux le joindre

image

Le tableau continu jusqu'à la colonne AC et la ligne 40 889 pour ce fichier. Je souhaiterais interagir avec la colonne TYP_SAL en K pour supprimer des lignes entières. Et parfois adapté cette macro pour d'autres fichiers ou ce sera la colonne F ou V ou autres...

Bonjour à tous de nouveau !

Le fichier est trop lourd... :/ Je ne peux le joindre

Rien ne vous interdit de l'alléger......

Si la structure de votre import est importante, vous pouvez réduire le nombre d'enregistrements tout en restant représentatif.

Merci pour votre réactivité à tous !

J'ai allégé le fichier

J'avais testé ce genre de et un autre que j'ai supprimé

Sub supp_lignes()
Dim I As Integer
For I = [A45000].End(xlUp).Row To 1 Step -1
    If Not Cells(I, 1).Resize(1, 6).Find("DLA") Is Nothing Then Rows(I).Delete
Next I
End Sub

Je débute dans le VBA donc cela reste un peu flou par moment

Bonjour à tous de nouveau !

Une double approche Power Query ?

  1. Sélection des enregistrements via un filtre (V1)
  2. Sélection des enregistrements via une jointure (V2)

Pour alléger le fichier retour, j'ai volontairement augmenté les critères d'exclusion.

Pour tester le fichier, mettre à jour le chemin du classeur "Extraction" (feuille "Paramètres"), puis "Actualiser tout" (via la ruban ou un clic droit sur un des tableaux Power Query)

Merci ! C'est une tâche que je réalise régulièrement. Je vais donc chercher à reproduire vos actions et à utiliser Power Query à défaut d'une macro.

J'utilise déjà une macro sur mes extractions pour modifier les 3 colonnes contenant des nombres. Car parfois l'extraction me transforme des , en . c'est assez gênant pour la suite... L'idée était de combiner ou de rajouter celle-ci.

Merci en tout cas

Bonjour à tous de nouveau !

J'utilise déjà une macro sur mes extractions pour modifier les 3 colonnes contenant des nombres. Car parfois l'extraction me transforme des , en . c'est assez gênant pour la suite... L'idée était de combiner ou de rajouter celle-ci.

Cette transformation peut être dévolue à Power Query !

Pouvez-vous mettre à notre disposition un fichier "brut" ?

Bonjour, merci pour vos réponses. J'ai suivit quelques tutos pour Power Querry.

J'ai trouvé les solutions qui me conviennent ! Merci pour votre réactivité

Hello,

Pour infos tu peux utiliser les filtres avancés pour faire ce que tu souhaites, pas besoin de codage PQ ou VBA

Bonjour à tous !

Bien....

Je vous remercie de ce retour.

Rechercher des sujets similaires à "suppression massive lignes"