IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Algorithme le plus adapté


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Par défaut Algorithme le plus adapté
    Chères amies, chers amis du forum

    Je sollicite votre avis devant un problème qui relève plus de l’algorithmie, en effet a un moment d'une macro je selectionne plusieurs (parfois jusqu à plusieurs dizaine de milliers) lignes afin d'etre supprime en fonction d'un vecteur critére, ce vecteur critere est un tableau VBA à une colonne remplis de reference unique (elles apparaissent une seul fois dans ce vecteur alors qu'il puevent apparaitre plusiseurs fois dans le tableau de la feuille excel).

    Pour l'instant j'utilise l'algo suivant: selection des valeur à eliminer avec un filtre, puis destruction avec EntireRow.Delete, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
             'filtre: affichage du complémentaire de l'ensemble des refernces de la peronnes concerné
            .Range(.Cells(4, 1), .Cells(4, 1).End(xlToRight)).AutoFilter Field:=20, Criteria1:=Array(gvVNTCriteriaVector), Operator:=xlFilterValues
            'destruction des lignes HS
            .Range(.Cells(5, 1), .Cells(Nrow + 3, Ncol + 3)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
            .Range(.Cells(4, 1), .Cells(4, 1).End(xlToRight)).AutoFilter
    Cepandant c'est très long, alors je vois deux autres alternative:

    - je selectionne a l'aide d'un filtre les valeurs a supprimer, puis je boucle pour supprimer toute les lignes visible
    - je boucle a cahque valeur du vecteur et si la reference apparait je supprime

    d'après quel est le plus rapide SVP?

    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Octobre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2014
    Messages : 24
    Par défaut
    Le plus rapide est normalement de filtrer et supprimer toutes les cellules visibles.
    Je le fais couramment sur un millier de lignes en quasi instantané.

    Si tu as des formules lourdes dans ton tableau, essaye peut être de désactiver le recalcul le temps de tes manips, ou d'ouvrir les fichiers liés si tu as des relations externes

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=1, Criteria1:="b"
        ActiveSheet.Range("$A$1:$D$8").AutoFilter Field:=2, Criteria1:="A"
        ActiveSheet.Rows("2:" & Cells.Rows.Count).Delete Shift:=xlUp
        ActiveSheet.Range("$A$1:$D$2").AutoFilter Field:=1
        ActiveSheet.Range("$A$1:$D$2").AutoFilter Field:=2

Discussions similaires

  1. Quel langage est le plus adapté pour faire ce script ?
    Par koKoTis dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 15/08/2006, 19h00
  2. Langage le plus adapté pour une application SGBD multiplateforme ?
    Par diarbenn dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 27/07/2006, 11h19
  3. Algorithme du plus court chemin
    Par greg3105 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 04/05/2006, 17h26
  4. Algorithme du plus court chemin
    Par greg3105 dans le forum Langage
    Réponses: 6
    Dernier message: 29/04/2006, 20h02
  5. avis aux experts-Quels sont les logiciels les plus adaptés??
    Par chouchouappc dans le forum Décisions SGBD
    Réponses: 46
    Dernier message: 20/07/2004, 21h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo