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

Microsoft 365 RECHERCHEV

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 !

Anto35200

XLDnaute Occasionnel
Bonjour,

Dans mon fichier joint, je recherche si les montants dans la plage de cellule A2 à C18 de la feuille « Synthèse », je retrouve ces montants à la colonne G de la feuille « extrait ».

Ma formule est en cellule E2, mais je ne comprends pas le problème.

En vous remerciant de votre aide.
 

Pièces jointes

Bonjour Anto35200 🙂 ,

Essayez la formule en E2 : =REPT("Inc.";(A2:C18<>"") * ESTNA(RECHERCHEV(A2:C18;extrait!G:G;1;FAUX)))

En général, on évite de prendre des lignes ou colonnes entières si ce n'est pas nécessaire. On peut remplacer G:G par G2;G999 ; c'est bien suffisant.
 

Pièces jointes

Dernière édition:
Bonjour JHA,
Merci pour ta proposition de réponse, mais aux cellule B2 (413 200.16) et C3 (11 463.56) , la formule indiquent "Non trouvé" alors que ceux-ci sont bien dans la colonne G de l'onglet "extrait".
La formule fait une recherche sur la colonne Total et non sur toute la plage de cellules.
 
Bonjour le forum,

Formule en E2 de la feuille Synthèse :
Code:
=SI(SOMMEPROD(NB.SI(extrait!G:G;A2:C2));"OK";"Non trouvé")
Voyez les MFC dans les 2 feuilles.
En général, on évite de prendre des lignes ou colonnes entières si ce n'est pas nécessaire.
Avec EQUIV, NB.SI, SOMME.SI, RECHERCHEV etc... ça n'a aucune importance ces fonctions ne traitent pas les cellules en dehors du UsedRange.

A+
 

Pièces jointes

Merci de confirmer ce que je subodorais sans en avoir du tout la certitude 👌
Pour que tu en sois bien sûr, dans le fichier .xlsm joint :

- j'ai effacé toutes les MFC

- en colonne E de la feuille Synthèse j'ai rendu volatiles les formules :
Code:
=T(ALEA())&SI(SOMMEPROD(NB.SI(extrait!G:G;A4:C4));"OK";"Non trouvé")
1) cette macro s'exécute en 2,5 secondes :
VB:
Sub a()
t = Timer
For i = 1 To 10000
Calculate
Next
MsgBox Timer - t
End Sub
2) la même macro s'exécute en 16,5 secondes après avoir entré 111 en extrait!G1048576.
 

Pièces jointes

- 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

Discussions similaires

Réponses
5
Affichages
67
Réponses
2
Affichages
60
Réponses
6
Affichages
96
Réponses
6
Affichages
72
Réponses
4
Affichages
532
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…