2 pièce(s) jointe(s)
Afficher/Masquer image dans Userform avec nom image dynamique
Bonjour à tous,
Cela fait un long moment que je tourne sur votre site. Il m'a aidé pour beaucoup de sujets autant pro que perso. ( surtout dans Access)
Mais voilà pour une fois je n'ai pas réussi à trouver ma réponse malgré de nombreuses recherches et tests.
Je viens de me mettre au vba dans excel afin de créer une "application" pour gérer l'équipe de jeune footeux que j’entraîne.
- Gestion effectif
- Gestion Match, score, compte rendu, note ....
Il y a un problème que je n'arrive pas à résoudre. Je souhaiterai gérer l'affichage de petites images (les cartons et les buteurs), présentes dans le formulaire mais masquées au départ, en fonction du joueurs sélectionné dans une listbox. J'ai réussi quand c'est une image avec un nom fixer ex : image3 avec un "if" et le résultat d'une chechbox sous condition vrai un simple Image3.visible = True , par contre quand je récupère le numéro du joueur concaténé avec le début du nom de l'image il ne veut pas.
Et là je sèche depuis 2 jours dessus en essayant pleins de possibilités livrées dans les forums.
Pour vous faire une idée de ce qui est en-cours
Pièce jointe 419125
Pièce jointe 419127
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| '**********************************************
'Procédure pour récupérer les données
'du joueur de la sélection match
'**********************************************
Private Sub lstJoueurM2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' Déclaration des variables
Dim MonJoueur
Dim MaLigne As Integer
Dim m As String
Dim CartonJ As String
Dim CartonR As String
'Affectation des variables
MonJoueur = Me.lstJoueurM2.ListIndex 'Trouver le numéro de la ligne selectionnée dans la listbox
'Affectation du numero de matricule du joueur
Me.txtJoueurM.Value = Me.lstJoueurM2.Column(0, MonJoueur)
'On affecte le numéro de match pour aller sur la bonne feuille
m = "M" & txtMatriculeM
'On se positionne sur la cellule du matricule à modifier
Sheets(m).Activate
MaLigne = MonJoueur + 2
' MsgBox MaLigne Vérification du numéro de ligne
Cells(MaLigne, 1).Select
'On teste que le contenu de la cellule active ne soit pas vide
If ActiveCell <> "" Then
Me.lblNomJoueurM.Caption = Cells(MaLigne, 3)
Me.lblPrenomJoueurM = Cells(MaLigne, 2)
Me.cboBut = Cells(MaLigne, 5)
Me.cboNote = Cells(MaLigne, 4)
Me.txtCom = Cells(MaLigne, 6)
End If
'Afficher étoile Homme du match
If Cells(MaLigne, 7) = 1 Then
chkHM = True
Else
chkHM = False
End If
If Me.chkHM = True Then
Image3.Visible = True
Else
Image3.Visible = False
End If
'Afficher Carton Jaune Joueur
CartonJ = "lblcj" & MaLigne
' MsgBox CartonJ
If Cells(MaLigne, 9) = 1 Then
chkcj = True
Else
chkcj = False
End If
If Me.chkcj = True Then
CartonJ.Visible = True
Else
CartonJ.Visible = False
End If
'Afficher Carton Rouge Homme du match
' CartonR = "lblcr" & MaLigne
' If Cells(MaLigne, 10) = 1 Then
' chkHM = True
' Else
' chkHM = False
' End If
' If Me.chkcr = True Then
' cr.Visible = True
' Else
' cr.Visible = False
' End If
'------------------------------
Sheets("CLUB").Activate 'Retourne à la feuille de gestion
Range("A1").Select
End Sub |
Pour l'étoile "Homme du match" pas de soucis mais pour les cartons avec le nom de l'image CartonJ = "lblcj" & MaLigne impossible malgré de multiples tests avec des directions bien différentes.
Je suis preneur si vous avez une solution pour le débutant que je suis.
Cordialement