Microsoft 365 xlookup 2 criteres dont dans fourchette de valeurs

  • Initiateur de la discussion Initiateur de la discussion eric72
  • 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 !

eric72

XLDnaute Accro
Bonjour à tous,
Et oui encore un nouveau problème, je souhaite avec ce code
VB:
essai = 11 * _
Application.WorksheetFunction.XLookup("NANTES" & CDbl("11"), Range("Externalisee[SITE]") & Range("Externalisee[Externalisee Nb Salariés (Siège)]"), _
Range("Externalisee[Externalisee Prix global (cabinet)]"), "", -1)
de faire un xlookup avec deux critères SITE et Nombre de salariés dans une tranche, j'ai donc essayé avec une formule en "d15", cela fonctionne en partie (sauf quend je met 10 ou 20, allez savoir pourquoi) fin de pouvoir reproduire en VBA mais je ne m'en sors pas alors que...
S'il vous vient une idée géniale pour m'aider!!! 😉
Merci beaucoup
 

Pièces jointes

Solution
Re bonjour à tous,
Après réflexion, j'ai changé ma méthode, l'autre paraissait un peu trop complexe, je vais donc clore ce sujet.
J'en profite pour remercier tous ceux qui se sont intéressés à mon problème, CP4, JHA, TooFatBoy qui sont toujours prêts à aider, sans eux on ne ferait pas grand chose!!!
Belle soirée à tous
Eric
Sur le principe c'est bien cela, par contre il peut y avoir 8 salariés donc dans ce cas le résultat doit renvoyer 13 qui équivaut à la tranche de 6 à 10, dans ton exemple cela renvoie toujours 17, mais sur le principe c'est ok
J'ai répondu d'après ma compréhension. Ce que je t'ai proposé, dans les comboboxs il y a les données de la 1ère colonne sans doublon, et la 2ème les données de la seconde colonne sans doublon.
Elle ne peut pas t'afficher 6 à 10 plus que ces chiffres ne figurent pas dans la colonne.
Etant donné que dans la colonne B, 8 n'existe pas. Pourquoi ça devrait renvoyer 13, explique?
 
J'ai répondu d'après ma compréhension. Ce que je t'ai proposé, dans les comboboxs il y a les données de la 1ère colonne sans doublon, et la 2ème les données de la seconde colonne sans doublon.
Elle ne peut pas t'afficher 6 à 10 plus que ces chiffres ne figurent pas dans la colonne.
Etant donné que dans la colonne B, 8 n'existe pas. Pourquoi ça devrait renvoyer 13, explique?
alors je m'explique dans la colonne "B", 1,2,6,11,21 correspondent à des tranches qui sont 1 salarié, de 2 à 5 salariés, de 6 à 10 salariés et enfin 21 salariés et plus.
Je pensais qu'on pouvait rechercher avec une valeur approximative le nombre de salariés, exemple si le nombre de salariés est 8 il se trouve dans la tranche de 6 à 10 donc on applique le prix qui correspond à la ligne (nb salariés) 6, j'espère être assez clair!!!
cela fonctionne en formule en précisant à la fin de la formule ;1) ou ;-1), je pensais que c'était donc possible en VBA
 
alors je m'explique dans la colonne "B", 1,2,6,11,21 correspondent à des tranches qui sont 1 salarié, de 2 à 5 salariés, de 6 à 10 salariés et enfin 21 salariés et plus.
Je pensais qu'on pouvait rechercher avec une valeur approximative le nombre de salariés, exemple si le nombre de salariés est 8 il se trouve dans la tranche de 6 à 10 donc on applique le prix qui correspond à la ligne (nb salariés) 6, j'espère être assez clair!!!
cela fonctionne en formule en précisant à la fin de la formule ;1) ou ;-1), je pensais que c'était donc possible en VBA
C'est faisable en VBA, il peut y avoir même plus d'une solution selon les connaissances des aidants.
Est-ce que ton tableau est fixe en dimensions (surtout les lignes)?
 
Bonjour,

j'ai essayé de cette manière
VB:
 Application.Index(Range("Externalisee[Externalisee Prix global (cabinet)]"), Application.Match(Sheets("Feuil1").Range("b15").Value, if(Range("Externalisee[SITE]")=sheets("feuil1").range("a15").value,Range("Externalisee[Externalisee Nb Salariés (Cabinet)]"), 1))
mais j'ai une erreur de compilation attendu Expression sur le "IF"
Il me semble que job75 a donné la réponse hier : il faut "faire évaluer les plages".
 
- 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
Retour