Bonjour à tous,
Je cherche à réaliser la fonction : =recherche(valeur_cherchée ; vecteur_recherche ; vecteur_résultat).
Pour mes données cela donne : =RECHERCHE(B4;valeurs!$C$2:$C$32;valeurs!$B$2:$B$32)
J'ai pu reproduire cette formule en vba via :
	
	
	
	
	
		
mais est-il possible de réaliser cette fonction via des dictionnaires et/ou tableaux ?
J'essaie d'utiliser la fonction qui a été développée par M boisgontier.
	
	
	
	
	
		
sur mes données. (fichier en pièce jointe)
mais je n'arrive pas à adapter le code de façon à ce que la fonction sélectionne la valeur inférieure proche du nombre recherché (comme dans =recherche(valeur_cherchée ; vecteur_recherche ; vecteur_résultat) .
Merci à tous ceux qui s'attarderons sur ce problème.
Bonne journée à tous 🙂
	
		
			
		
		
	
				
			Je cherche à réaliser la fonction : =recherche(valeur_cherchée ; vecteur_recherche ; vecteur_résultat).
Pour mes données cela donne : =RECHERCHE(B4;valeurs!$C$2:$C$32;valeurs!$B$2:$B$32)
J'ai pu reproduire cette formule en vba via :
		Code:
	
	
	Cells(i, j) = WorksheetFunction.Lookup(Rnd(), range1, range2)J'essaie d'utiliser la fonction qui a été développée par M boisgontier.
		Code:
	
	
	Function RechxM(clé As Range, champRech As Range, ChampResult, messageErreur)
  Application.Volatile
  Set d = CreateObject("Scripting.Dictionary")
  a = champRech.Value
  b = clé.Value
  c = ChampResult.Value
  For i = LBound(a) To UBound(a)
    d(a(i, 1)) = c(i, 1)
  Next i
  Dim temp()
  ReDim temp(LBound(b) To UBound(b), 1 To 1)
  For i = LBound(b) To UBound(b)
    If d(b(i, 1)) <> "" Then temp(i, 1) = d(b(i, 1)) Else temp(i, 1) = messageErreur
  Next i
  RechxM = temp
End Functionmais je n'arrive pas à adapter le code de façon à ce que la fonction sélectionne la valeur inférieure proche du nombre recherché (comme dans =recherche(valeur_cherchée ; vecteur_recherche ; vecteur_résultat) .
Merci à tous ceux qui s'attarderons sur ce problème.
Bonne journée à tous 🙂
Pièces jointes
			
				Dernière édition: 
			
		
	
								
								
									
	
		
			
		
		
	
	
	
		
			
		
		
	
								
							
							 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		