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 :

Recherche rapide de lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Par défaut Recherche rapide de lignes
    Bonjour,

    Mon probleme est le suivant :
    Je souhaite trouver le numéro des lignes de ma colonne A qui contiennent une valeur test et les stocker dans un tableau.

    J'arrive à faire ce que je veux mais c'est LONG! (je vais devoir chercher sur 500 000 lignes environ. Pouvez vous m'aider à optimiser la chose ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Public Sub lookfor()
        Dim row_max As Long
        Dim k As Long
        Dim index() As Long
        Dim compt As Long
        Dim number As Long
        Dim test As String
        test = "valeur recherchée"
        compt = 2
        number = 0
        Erase index()
        row_max = Feuil1.Cells(Rows.Count, "A").End(xlUp).Row
        Do
             If Feuil1.Range("A" & compt).Value = test Then
                number = number + 1
                ReDim Preserve index(number)
                index(number) = Feuil1.Range("A" & compt).Row 
             End If
            compt = compt + 1
        Loop Until compt = row_max + 1 
    End Sub

    Des idées pour accélérer la chose ?


    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Tu peux gagner en temps si tu utilises un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Public Sub lookfor()
    Dim i As Long, Number As Long
    Dim Tablo()
    Dim index() As Long
    Dim test As String
        test = "valeur recherchée"
        With Worksheets("Feuil1")
            Tablo = .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row).Value
            For i = 1 To UBound(Tablo)
                If Tablo(i, 1) = test Then
                    ReDim Preserve index(Number)
                    index(Number) = i + 1
                    Number = Number + 1
                End If
            Next i
        End With
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 17
    Par défaut
    Merci beaucoup ! Vitesse x5 !

    D'autres idees ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/02/2006, 12h52
  2. [VBA-E]recherche d'une ligne
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/01/2006, 13h11
  3. Recherche rapide dans un TDBGrid
    Par Dinytro dans le forum C++Builder
    Réponses: 5
    Dernier message: 10/03/2005, 01h29
  4. Recherche rapide
    Par Pylz dans le forum C++Builder
    Réponses: 14
    Dernier message: 28/02/2005, 14h53
  5. [Kylix] Combobox recherche rapide
    Par litbos dans le forum EDI
    Réponses: 3
    Dernier message: 29/08/2003, 11h13

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