Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Recherche à double entrée sur une colonne décalée

HelpMeplease71

XLDnaute Nouveau
Bonjour à tous,

je viens vous voir car je galère un peu...
compliqué d'expliquer mon problème mais je me lance...
J'ai une base de donnée (onglet datas) avec des valeurs qui apparaissent plusieurs fois.
Sur un autre onglet (Projets), je cherche à remettre ça en forme pour l'exploiter :

je veux en cellule C2 la valeur issu de l'onglet data correspondant a la ligne ou apparait D1 (ligne 2) et la colonne ou apparait P1 => donc la valeur C2 : 23%
j'ai tenté sans succès avec une formule du style
=recherchev(C1;'datas'!B2:G5;rechercheh(B1;'datas'!B2:G5;2);0)

Si vous avez des idées... (j'ai simplifier la base de donnée mais l'idée est là)

merci à vous
 

Pièces jointes

  • test.xlsm
    11.3 KB · Affichages: 12

HelpMeplease71

XLDnaute Nouveau
Bonjour et merci pour ce premier retour.
C'est quasi parfait mais ca beug sur certaines valeur dans mon cas précis.
Le nom du projet n'est pas toujours "simple" mais contiens des caractères supplémentaires dans la base de donné.
Ex : P1 dans l'onglet Projet est parfois ecris "P1dhrjrn" ou alors "oekdu P1 eud"
il me faudrait donc chercher avec le contenu P1 dans la macro
En tout cas super macro, j'ignorais que l'on pouvait créer des fonctions
Possible ?
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer par formule
VB:
=DECALER('Traitement datas Sp4'!$A$1;EQUIV(C$1;'Traitement datas Sp4'!$A$2:$A$10;0);EQUIV($B2;DECALER(INDEX('Traitement datas Sp4'!$A$2:$A$10;EQUIV(Projets!C$1;'Traitement datas Sp4'!$A$2:$A$10;0));;;;100);0))

JHA
 

Pièces jointes

  • test (4).xlsm
    12.6 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, bonjour JHA,
En tout cas super macro, j'ignorais que l'on pouvait créer des fonctions
Ce serait dommage de s'en passer, quelquefois c'est vraiment pratique surtout quand les formules commencent à faire plusieurs lignes.
Un petit tuto sur le sujet :
 

HelpMeplease71

XLDnaute Nouveau
Si je peux (encore) abuser...
J'ai certaines valeurs divisé par zéro => houhouhou je sais pas bien
mais je ne voudrais pas quelles remontent du coup, mettre un 0 irait bien par exemple
J'ai essayé avec la fonction IF mais sans succès...

If tablo(L, C + 1) <> "#DIV/0!" Then
RecherchePourcent = tablo(L, C + 1) ' on remonte la valeur
End If

ca me renvois à #VALEUR! et pas un "" ou un zéro...
 

Pièces jointes

  • test (7) (V4).xlsm
    19.3 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
La bonne syntaxe est : If IsError(tablo(L, C + 1)) Then ...
j'ai préféré mettre vide plutôt que 0 car certaines valeurs non en erreur retournent 0.
( peut être modifié ligne 15 )
 

Pièces jointes

  • test (7) (V5).xlsm
    24 KB · Affichages: 2

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…