× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Excel: Chercher l'emplacement de la valeur maximale dans une plageSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Nico34
  Posté le 15/10/2013 @ 19:11 
Aller en bas de la page 
Petit astucien

Bonjour,

Après m'être arraché les cheveux sur ce problème, je m'adresse à vos savoirs afin de tenter de résoudre mon problème sous Excel 2007:

Je souhaiterai, sans macro (mais avec des fonctions imbriquées), choisir une valeur max dans une liste et afficher la valeur de la cellule située à sa droite. Il s'agirait de faire cette manip sur différents vecteurs imbriqués les uns dans les autres comme le montre l'exemple joint (Où le max rouge doit donner la valeur max du vecteur en rouge et imbriqué avec le vecteur vert dont il est question également de trouver le max, les calculs ont été fait "à la mano" à titre d'exemple concernant les deux dernières lignes):

(Pour touver la valeur max j'utilise "max(vecteur recherché/nombres)" et pour tenter d'avoir la lettre correspondante: "recherche(max(vecteur recherché/nombres); vecteur recherché/nombres; vecteur cible/lettres)", mais cela se fait de façon erratique concernant la deuxième fonction et ne fonctionne pas sur les vecteurs imbriqués...)

Merci d'avance de votre aide!

Nico.

14 a

5 b

23 c

14 d

17 e

89 f


Calculs à réaliser:

max: 89 f

max: 17 e



Modifié par Nico34 le 15/10/2013 19:14
Publicité
ferrand
 Posté le 15/10/2013 à 21:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

houlà !

Dans Excel, il me faut des lignes et des colonnes pour définir des plages de recherche. Et si couleurs, des valeurs de couleurs en RGB ! Et si tes vecteurs sont colorés faudra nécessairement créer fonctions personnalisées...

Bonsoir.

jpr73
 Posté le 16/10/2013 à 10:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Peut-être une solution en passant par les anciennes macro XL4 selon l'exemple joint.

Cordialement

http://cjoint.com/?CJqkr6wJDI9

DjiDji59430
 Posté le 16/10/2013 à 11:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Ou connaitre les conditions pour lesquelles les cellules sont vertes ou rouges.

Si ces conditions, a la place de couleurs mettent par exemple a ou b dans un cellule a cote, on peut essayer avec

{=MAX(SI(A1:A5="b";B1:B5;""))}

formule matricielle (shift+ctrl + entrée)

http://feed4.tinypic.com/rss.php?u=8oVjPCounM%2FAQjgXXRqq%2FA%3D%3D

ps: trop tard !



Modifié par DjiDji59430 le 16/10/2013 12:33
ferrand
 Posté le 16/10/2013 à 12:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

Intéressante l'idée des anciennes macros (mais faut avoir conservé de la doc...). En refléchissant au problème, en l'absence d'autres précisions, voilà un modèle avec fonction personnalisée :

L'utilisation de la fonction apparaît dans la barre de formule. La fonction accepte 2 arguments : la plage globale dans laquelle s'effectue la recherche, ici la plage A1:F10, et le choix du vecteur coloré par indication d'une cellule comportant cette couleur, ici F1 indique qu'il s'agit des cellules bleues.

La fonction s'utilise en fonction matricielle : on sélectionne 2 cellules sur une même ligne, on tape la fonction (avec ses arguments) et on valide par Ctrl+Alt+Entrée. Les deux cellules choisies pour taper la fonction afficheront alors respectivement, la valeur maximale trouvée dans la plage colorée choisie et l'indication figurant dans la cellule à droite de cette valeur.

NB-S'il y a deux valeurs maximales identiques dans la même couleur, seule la première trouvée sera affichée par la fonction (en l'état actuel de la fonction).

La fonction :

Function MAXVECTCOUL(PlaRech As Range, PlaCoul As Range)
Dim c As Range, coul As Long, résult(1)
Application.Volatile
coul = PlaCoul.Interior.Color
For Each c In PlaRech.Cells
If IsNumeric(c.Value) And c.Interior.Color = coul Then
If c.Value > résult(0) Then
résult(0) = c.Value
résult(1) = c.Offset(0, 1).Value
End If
End If
Next c
MAXVECTCOUL = résult
End Function

Elle est à coller dans un module standard du classeur...

Bonne journée.

Plus de choix de police dans ce nouvel éditeur de réponses ?

Nico34
 Posté le 19/10/2013 à 16:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

L'idée de Ferrand fonctionne et correspond à mon "cahier des charges", le problème semble donc résolu! Merci à tous pour votre aide!

@++!

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
34,99 €Kaspersky Internet Security 2021 (3 postes, 1 an) à 34,99 €
Valable jusqu'au 27 Novembre

Amazon fait actuellement une promotion sur la version 2021 de la célèbre suite de sécurité Kaspersky. Le marchand propose ainsi Kaspersky Internet Security 2021 à 34,99 € seulement. Cette version peut être installée sur 3 appareils (PC, Mac ou Android) et bénéficie de 1 an de mises à jour. Une fois votre commande passée, la clé d'activation vous est immédiatement envoyée par email, accompagnée du lien de téléchargement. Notez que si vous avez déjà un abonnement Kaspersky Internet Security, vous pourrez utiliser la clé pour prolonger votre abonnement d'un an.


> Voir l'offre
34,99 €Souris Logitech MX Anywhere 2 (Bluetooth, Unifying) à 34,99 €
Valable jusqu'au 27 Novembre

Amazon fait une promotion sur l'excellente souris sans fil Logitech MX Anywhere 2 qui passe à 34,99 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 65 €. Cette souris que vous pourrez emporter partout avec votre PC ou Mac portable offre une double connectivité sans fil unify ou Bluetooth. Son capteur laser Dark field vous permettra de l'utiliser sur n'importe quelle surface. 


> Voir l'offre
39,99 €Just Dance 2021 (Switch, Xbox One et PS4) à 39,99 €
Valable jusqu'au 27 Novembre

Amazon fait une promotion sur le jeu Just Dance 2021 pour Switch, Xbox One et PS4 qui passe à 39,99 € livré gratuitement au lieu de 50 €. Just dance 2021 propose plus de 40 nouveaux hits et vous permet d'utiliser votre smartphone comme manette avec l'application Just Dance Controller.


> Voir l'offre

Sujets relatifs
Calculer date en fonction d'une valeur dans une plage de cellules
Excel: valeur cellule impliquée dans calcul ailleurs -> connexions
Chercher dans des fourchettes de valeur
chercher les lignes doubles dans excel 2003
Chercher une liste de mots dans une cellule Excel
copier plage excel 2003 coller dans word + m en p
activer une plage de celluel dans excel
Excel 2003 Chercher infos automatiquement dans BD
Définir 1 plage de cellules dans 1 macro excel
Problème de #VALEUR! dans excel
Plus de sujets relatifs à Excel: Chercher l''emplacement de la valeur maximale dans une plage
 > Tous les forums > Forum Bureautique