Recherche de valeurs dans une liste de variables

  • Initiateur de la discussion Initiateur de la discussion Dut
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dut

XLDnaute Nouveau
Bonjour,
sous VBA j'ai déclaré une liste de variables définies comme suit :
Code:
Dim variante(50) As String

Un peu plus loin dans ma macro, je parcoure la colonne E d'une feuille et je souhaiterais effectuer une recherche sur la liste précédente pour renvoyer le numéro de la variable correspondante. J'utilise donc le code suivant :
Code:
    For i = 2 To Range("E2").End(xlDown).Row
        For k = 0 To 50
            If Range("E" & i).Value = variante(k) Then Range("C" & i).Value = k
        Next k
    Next i

Le problème c'est qu'il existe environ 40 variantes et que j'ai plus de 40000 lignes à tester donc je voudrais essayer d'optimiser un peu le délai de traitement.

Existe-t-il une fonction qui me permettrait d'accélérer ma recherche ?
 
Re : Recherche de valeurs dans une liste de variables

Exact ! bonne idée...
Code:
    For i = 2 To Range("E2").End(xlDown).Row
        For k = 0 To 50
            If Range("E" & i).Value = variante(k) Then
                Range("C" & i).Value = k
                Exit For
            End If
        Next k
    Next i
D'autres suggestions ? 🙂
 
Dernière édition:
Re : Recherche de valeurs dans une liste de variables

Bonjour dut, tototiti2008,

Voici une autre possibilité :
Code:
    Dim Plage As Range, Cell As Range

    Set Plage = Range("E2:E" & Range("E2").End(xlDown).Row)
    
    For k = 0 To UBound(variante)
        Set Cell = Plage.Find(variante(k), , LookIn:=xlValues, LookAt:=xlWhole)
        If Not Cell Is Nothing Then
            Range("C" & Cell.Row).Value = k
        End If
    Next k
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
568
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
481
Réponses
3
Affichages
484
Réponses
2
Affichages
496
Retour