Mettre au prmier plan selon condition

Babat

XLDnaute Occasionnel
Bonjour, après plusieurs tentaives ratées, je pense avoir trouver une idée visuelle pour un projet de traumatologie. J'aimerais qu'en fonction d'un nombre de jours de blessures un rond apparaissent à l'endroit de la blessure. Pour cela j'ai imaginé associé un rond à chaque blessure, le cacher en arrière plan derrière l'image et selon le nb de jours de blessure il apparait en premier plan ou pas, mais je ne visualise pas du tout au niveau du code VBA ce que ca peut faire. Si vous pouviez m'aider ca serait génial.
Merci
 

Pièces jointes

  • rond.xlsx
    51.7 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : Mettre au prmier plan selon condition

Bonjour Babat,

Renommez les objets (Ellipses) avec les noms de la colonne F.

Puis collez cette macro dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, [G:G], Me.UsedRange)
If Target Is Nothing Then Exit Sub
On Error Resume Next 'si la Shape n'existe pas
For Each Target In Target
  Me.Shapes(Target.Offset(, -1)).Visible = Target >= 45
Next
End Sub
A chaque validation de donnée en colonne G l'objet est affiché ou masqué suivant la valeur.

Fichier joint.

Edit : s'il y a beaucoup de valeurs à revalider, copiez-collez la colonne G sur elle-même...

A+
 

Pièces jointes

  • rond(1).xls
    81 KB · Affichages: 46
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Mettre au prmier plan selon condition

Bonsour®
sourire...
Bonjour, après plusieurs tentaives ratées,
je pense avoir trouver une idée visuelle pour un projet de traumatologie. J'aimerais qu'en fonction d'un nombre de jours de blessures un rond apparaissent à l'endroit de la blessure. Pour cela j'ai imaginé associé un rond à chaque blessure, le cacher en arrière plan derrière l'image et selon le nb de jours de blessure il apparait en premier plan ou pas, mais je ne visualise pas du tout au niveau du code VBA ce que ca peut faire.

sourire...
tentatives ratées ?
il n'y pas l'ombre d'esquisse d'un embryon de solution...
l'idée c'est bien, mais il faudra commencer d'abord par te familiariser avec Excel, VBA pour excel, puis l'analyse et l'algorithmique

sourire ...

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   With ActiveSheet
        If Not Intersect(Target, Range("G10:G12")) Is Nothing Then
            .Shapes("spotEpauleG").Visible = Range("G10") >= 45
            .Shapes("spotHancheD").Visible = Range("G11") >= 45
            .Shapes("spotGenouD").Visible = Range("G12") >= 45
        End If
   End With
End Sub

car maintenant il va te falloir adapter le programme joint...
autoriser les macros
les objets(ronds) ont été renommés pour correspondre aux données .
le programme utilise un événement de feuille (le Code est placé dans le module correspondant)

si les dates sont actualisées par rapport à la date du jour, il conviendra également d'actualiser la zone image à l'ouverture du classeur ou à l'activation de la feuille

@+
pour de nouvelles aventures...
 

Pièces jointes

  • Xld_Babat.xlsm
    72.1 KB · Affichages: 46
  • Xld_Babat.xlsm
    72.1 KB · Affichages: 48
  • Xld_Babat.xlsm
    72.1 KB · Affichages: 48

Babat

XLDnaute Occasionnel
Re : Mettre au prmier plan selon condition

Merci à vous 2. Par contre pour la 1ere réponse j'ai pas acces au fichier joint donc je vais essayé juste avec le code.
Et pour modeste Goodee, le fichier monter est très complexe (et je me suis fait aider pour quelques formules) mais je me demmerde pas trop mal en formules (meême si je suis bien loin de certains d'entre vous...), par contre je commence a peine a me pencher sur les codes VBA et là c'est vrai que je suis vriment un gros novice la-dedans.
Et je m'excuse mais j'ai fait une erreur dans mon fichier présenté. la blessure se fait par liste déroulante ce n'est pas aussi fixe que ca. C'est a dire on peut avoir 3 fois la meme blessure et là ca n'a plus rien a voir.
Autant là je crois que j'ai compris le code mis case par case mais j'aimerais bien qu'on m'explique par rapport à la liste déroulante.
Dsl
 

Pièces jointes

  • Xld_Babat.xlsm
    57.5 KB · Affichages: 42
  • Xld_Babat.xlsm
    57.5 KB · Affichages: 44
  • Xld_Babat.xlsm
    57.5 KB · Affichages: 38

Modeste geedee

XLDnaute Barbatruc
Re : Mettre au prmier plan selon condition

Bonsour®
Et je m'excuse mais j'ai fait une erreur dans mon fichier présenté. la blessure se fait par liste déroulante ce n'est pas aussi fixe que ca. C'est a dire on peut avoir 3 fois la meme blessure et là ca n'a plus rien a voir.

pas sur d'avoir compris ?
sur une même ligne, le fait de changer de blessure n'a pas d'impact sur le nombre de jours ???

sur ce nouvel exemple, l'affichage ou non, a lieu pour la blessure ou le nombre de jours sélectionné

???
un exemple réel du "fichier monter très complexe" avec quelques lignes serait cependant bienvenu...
 

Pièces jointes

  • Xld_Babat.xlsm
    73.5 KB · Affichages: 39
  • Xld_Babat.xlsm
    73.5 KB · Affichages: 42
  • Xld_Babat.xlsm
    73.5 KB · Affichages: 40

Babat

XLDnaute Occasionnel
Re : Mettre au prmier plan selon condition

Donc j'envoie le fichier source qui est encore en travaux mais bon...
J'ai modifié l'image dans l'onglet Fiche individuelle 2 où j'ai mis pleins d'ellipses aux endroit où je souhaite qui correspondent à la liste dans l'onglet base de données en I42:I70. mais qui pourrait évoluer en nombre en place.
Donc, les ellipse apparaitrait sur mon bonhomme si dans l'onglet Récap le lieu de la blessure apparait et NbD'indisponibilité >45.
Voila pour du concret. J'espère que vous pourrez m'aider.
Merci
 

Pièces jointes

  • Fiche type suivi joueur 3.xlsx
    263.7 KB · Affichages: 55