Afficher une image avec condition

Bonjour,

J'ai une feuille POINTS avec une liste de pays triée par ordre alphabétique dans laquelle le nombre de points de chaque équipe est calculé (à partir de données provenant d'une feuille MATCHS) : Albanie / 1 point, Allemagne / 6 points, Andorre / 2 points... En colonne A, je calcule le rang selon le nombre de points (avec la fonction RANG).

Dans une feuille CLASSEMENT, je classe les pays selon leur rang, j'obtiens pour l'exemple : 1 Allemagne 6 points / 2 Andorre 2 points / 3 Albanie 1 point.

Dans cette feuille, je souhaite ajouter une colonne avec le drapeau de chaque pays, j'ai donc créé une feuille DRAPEAU avec la liste des pays et l'image du drapeau avec une colonne pour préciser la cellule contenant le drapeau :

Albanie / DRAPEAU!$C$1 / image...

Avec l'appareil photo, j'ai ajouté les zones images dans la feuille CLASSEMENT.

J'ai tenté avec RECHERCHEV et INDIRECT, OK si je crée une liste avec les pays, j'arrive à afficher le drapeau après choix dans la liste mais ma demande est, en feuille CLASSEMENT, d'afficher les drapeaux de chaque pays sur toute une colonne :

Rang / Pays / Points / Drapeau

1 / Allemagne / 6 / =RECHERCHEV(CLASSEMENT!$B$2;INDIRECT(DRAPEAU!A:C;2;FAUX))

=> Vous avez tapé un nombre important d'arguments pour cette fonction (RECHERCHEV est alors en surbrillance).

Fichier en PJ. Que dois-je faire pour réussir ?

Merci

339drapeaux.xlsx (26.98 Ko)

Bonsoir,

Ci-joitn une piste de travail :

Les images sont recherchés directement sur le net.

Il peut y avoir des incohérences nom de pays et le nom référencé sur le nom d'image : ex pays avec "-" ou autres

Une liste de pays est proposé dans classement avec liste deroulante selon pays existants dans onglet pays

L'image se charge quand le pays est selectionné

Cdt

495drapeaux.xlsm (28.27 Ko)

Merci VB_troyes, je vais creuser en ce sens.

Salut voilà une solution simple pour afficher une image avec une condition :

Mettre cette formule dans une cellule :

=SI($B$2=1;afficheCache("image 1";VRAI);afficheCache("image 1";FAUX))

Et mettre ce code dans une module :

Function AfficheCache(Image_1, vraiFaux)
ActiveSheet.Shapes(Image_1).Visible = vraiFaux
afffichecache = 0
End Function

Dans cette exemple l'image nommé "Image 1" s'affichera si la cellule A2 est égale à 1

Pour mettre en pratique avec plusieurs images il suffit de mettre une formule par image (inutile de remettre du code dans le module)

un exemple vaut mieux qu'un long discours :

Merci Jide

Rechercher des sujets similaires à "afficher image condition"