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 !
J'ai 2 colonnes nommées (l'une s'appelant "ColonneLimiteInf", l'autre "ColonneLimiteSup") dans lesquelles se trouvent des chiffres décimaux ou pas. S'il s'agit de chiffres décimaux, le nombre de décimales est variable.
Je dispose d'une fonction intitulée "HowLong" qui me renvoie le nombre de décimales d'un chiffre, par ex., en supposant que dans la cellule A1 il y ait le chiffre 12.369 : HowLong(A1)=3 (effectivement il y a 3 décimales ou, si vous préférez, 3 chiffres après la virgule).
Je voudrais connaître le nombre maximum de décimales que l'on peut trouver dans les 2 colonnes.
Une solution "lourde" consiste à mettre à côté de chacune des 2 colonnes une colonne supplémentaire, et dans chaque cellule écrire "=HowLong(Cellule de la colonne correspondante)", on tire ensuite jusqu'au bas de la colonne, puis on fait de même avec l'autre colonne. Enfin, on trouve ce que l'on cherchait, à savoir le nombre de décimales le plus important existant dans les 2 colonnes par (en supposant que les colonnes où sont rapportés les nombres de décimales aillent de E10 à E50 et de G10 à G50) :
"=Max(E10:E50;G10;G50)"
Je cherche une solution, disons plus "légère", qui m'éviterait de rajouter 2 colonnes excédentaires. Je pense qu'au moyen d'une formule matricielle on pourrait y arriver, mais je bute...
Re : Trouver, dans 2 colonnes, une valeur renvoyée par une fonction
Merci Soenda pour ta proposition, mais d'une part je n'ai pas très bien compris ta formule qui me renvoie des résultats étranges, et d'autre part il s'agit en fait de savoir quel est le nombre de décimales le plus important se trouvant dans une série de chiffres (une cinquantaine au total) répartis sur deux colonnes.
en adaptant évidemment à la zone concernée. Pour que cela fonctionne, toutes les cellules prises en compte doivent soit contenir un nombre, soit être vides.
Cela se produit si les 2 cellules contiennent des nombres entiers.
Effectivement, si les 2 nombres sont des entiers, on attend comme réponse : 0 (décimale)... Mea culpa 😱
Exemple avec : A1 = 1,23 B1 = 99 :
A1-ENT(A1) ==> 1,23 - 1 = 0,23
NBCAR(A1-ENT(A1)) ==> 4 (=le nombre de caractères "avec le 0 et la virgule")
NBCAR(B1-ENT(B1)) ==> 1 (99 - 99 = 0 ==> nombre de caractère = 1)
MAX(...A1;...B1)-2 ==> 2 (=Le plus grand nombre "sans le 0 et sans la virgule")
Effectivement, si les 2 nombres sont des entiers,
MAX(.. , ..) ==> 1, et MAX(.. , ..)-2 ==> -1
D'ou la correction qui se lit :
SI(Au moins 1 des 2 nombres n'est pas un entier; Appliquer la formule; Sinon ==> 0)
Exemple avec : A1=5; B1=99
A1-ENT(A1) ==> 0 Car 5 - 5 = 0
B1-ENT(B1) ==> 0 Car 99 - 99 = 0
Or 0 = FAUX d'ou
OU(A1-ENT(A1);B1-ENT(B1)) ==> FAUX
Et la formule renverra ==> 0 (au lieu de -1)
La formule corrigée fonctionne avec les entiers, les décimaux, les cellules vides et les nombres négatifs.
Re : Trouver, dans 2 colonnes, une valeur renvoyée par une fonction
Bonjour à tous et plus particulièrement à soenda et Roger.
J'ai tenté d'utiliser vos solutions, malheureusement sans grand succés, même en faisant en sorte que les 2 colonnes de chiffres (décimaux ou entiers) soient contiguës. Peut-être me suis-je mal exprimé dans ma requête... J'adresse donc un exemple de ce que j'ai utilisé pour résoudre le problème (ça marche), mais je voudrais savoir s'il est possible, au moyen d'une unique formule, d'obtenir le même résultat sans devoir rajouter, comme je l'ai fait, 2 colonnes supplémentaires.
Re : Trouver, dans 2 colonnes, une valeur renvoyée par une fonction
Merci PierreJean pour ta solution.
Elle fera l'affaire en dépit d'un petit problème : la fonction ne reconnaît pas les cellules vides d'une des colonnes dans ma feuille (qui serait "Colonne1" dans l'exemple adressé), car ces cellules contiennent (pour des besoins de calculs ultérieurs) une condition du type :
SI(Y(O(G18=0;H19="");J18="");"";J17)
Quand elles contiennent un chiffre : pas de problème, mais quand elles sont vides : Erreur
La solution que j'envisage est, au moyen d'une macro événementielle, renommer automatiquement la Colonne1 afin que celle-ci ne contienne que des chiffres et aucune cellule vide.
À moins de faire une modification dans la fonction, mais là j'avoue ça me dépasse un peu...
Re : Trouver, dans 2 colonnes, une valeur renvoyée par une fonction
Merci Soenda pour ta solution.
J'avais résolu le problème en utilisant une fonction, mais qui réclamait que l'on rajoute dans la feuille 2 colonnes. Je voulais trouver une solution pour obtenir le résultat escompté mais sans ces 2 colonnes superflues.
Ta solution fait économiser une colonne, en revanche celle de PierreJean, elle, résoud le problème des colonnes superflues malgré le détail des cellules vides que j'ai évoqué précédemment. Le problème était apparemment simple, mais la solution beaucoup moins...
Quant à la fonction fournie par PierreJean, elle démontre que la fonction parfaite qui fonctionne quelles que soient les circonstances, ne peut s'obtenir qu'en envisageant tous les cas de figures.
Mais encore merci à tous pour votre collaboration.
Re : Trouver, dans 2 colonnes, une valeur renvoyée par une fonction
Re
Veux-tu tester cette version qui devrait admettre des cellules vides issues de formule dans les zones
Je n'ai pas testé moi-même avec ta formule car elle se met en erreur chez moi et je ne suis pas assez formuliste pour savoir ce qui cloche
Si tu as testé avec SIERREUR (Excel2007), c'est normal car tu es sous Excel2000.
La formule pour Excel 2003 (voir PJ, 2 post plus haut) devrait fonctionner chez toi
Ceci dit, je n'ai toujours pas compris "le problème des colonnes superflues" 😕
- 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