RECHERCHEV 255 Caractères Maxi ?

fluck78

XLDnaute Nouveau
Bonjour à tous,

Je suis confronté à un problème avec la fonction RechercheV.

Je cherche à comparer des données(chiffres et lettres) afin de d'identifier les doublons.

La fonction RechercheV fonctionne bien sauf pour les cellulles contenant plus de 255 caractères.

Connaissez vous ce problème et y a t il un moyen de le contourner?

Merci d'avance

Fluck78
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : RECHERCHEV 255 Caractères Maxi ?

Bonjour,


=Rechv(A1;table;2)

Code:
Function Rechv(v, champ, col)
  Application.Volatile
  Rechv = "Inconnu"
  a = champ.Value
  For i = 1 To UBound(a)
    If v = a(i, 1) Then
      Rechv = a(i, col): Exit Function
   End If
  Next i
End Function

Pour une table importante (10.000 codes) et une formule pour 1.000 codes cherchés, le temps de recalcul est de 0,09 s (10 sec pour une formule matricielle classique)

-Sélectionner 1000 lignes
=RechvM(E2:E1003; A2:B10000;2)
-Valider avec Maj+Ctrl+entrée

Code:
Function RechvM(clé As Range, champ As Range, colResult)
  Application.Volatile
  Set d = CreateObject("Scripting.Dictionary")
  a = champ.Value
  b = clé.Value
  For i = LBound(a) To UBound(a)
    d(a(i, 1)) = a(i, colResult)
  Next i
  Dim temp()
  ReDim temp(LBound(b) To UBound(b))
  For i = LBound(b) To UBound(b)
    temp(i) = d(b(i, 1))
  Next i
  RechvM = Application.Transpose(temp)
End Function

JB
 

Pièces jointes

  • RechvM.zip
    368.5 KB · Affichages: 66
Dernière édition:

job75

XLDnaute Barbatruc
Re : RECHERCHEV 255 Caractères Maxi ?

Bonjour fluck78, salut JB,

Fichier (1) avec en E2 cette formule matricielle :
Code:
=INDEX(B:B;MIN(SI(A1:A100=D2;LIGNE(A1:A100))))
A valider par Ctrl+Maj+Entrée.

Edit : aussi cette formule plus rapide, toujours en matriciel, fichier (1 bis) :

Code:
=INDEX(B:B;EQUIV(VRAI;A1:A100=D2;0))
Noter les textes avec 10000 caractères...

A+
 

Pièces jointes

  • Plus de 255 caractères(1).xls
    88.5 KB · Affichages: 90
  • Plus de 255 caractères(1 bis).xls
    84.5 KB · Affichages: 119
Dernière édition:

job75

XLDnaute Barbatruc
Re : RECHERCHEV 255 Caractères Maxi ?

Re,

Mais vous avez parlé d'identifier les doublons, pas besoin de RECHERCHEV pour ça.

En C2 du fichier joint :

Code:
=REPT("Doublon";ET(A2&B2<>"";SOMMEPROD(N(A$1:A$100&B$1:B$100=A2&B2))>1))
A+
 

Pièces jointes

  • Plus de 255 caractères(2).xls
    69.5 KB · Affichages: 56

Discussions similaires

Réponses
17
Affichages
927