Bonjour a vous cher amis du forum,



J'ai une fonctionne que j'utilise fréquemment auquel vous, mes amis, m'avez aidé a produire. Il s'agit de la fonctionne suivante permettant d'effectué comme la recherchev (vlookup) mais en trouvant toute les valeurs possibles en les séparant du retour de charriot.


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
Function rmult(valeurachercher As Variant, plageachercher As Range, numcolonne As Long) As Variant
    Dim u As Variant
    Dim nb As Long
    Dim boucle As Long
 
    For boucle = 1 To plageachercher.Rows.Count
 
        If plageachercher(boucle, 1) = valeurachercher Then
            u = u & plageachercher(boucle, numcolonne) & Chr(10)
            nb = nb + 1
        End If
 
    Next boucle
 
    If Right$(u, 1) = Chr(10) Then u = Left$(u, Len(u) - 1)
 
    rmult = u
 
End Function

Celle-ci fonctionne vraiment bien mais avec un temps d'Exécution quand même assez lent.


J'ai un code auquel j'aimerais accéléré étant donné qu'il est utiliser quand meme assez fréquemment et le temps d'Exécution est assez long (j'ai fermé le poste en question étant donné que la lenteur proviens de cette fonction).



Donc je voudrais voir avec vous si il y aurais un autre façon de faire afin de pouvoir exécuté rmult en lot au lieu de ligne à ligne afin de gagner du temps ou toute autre façon de faire me permettant de sauver du temps.



merci encore mille fois !!!