Faire un trombinoscope sur un userform
Bonjour à tous
Je désire faire un trombinoscope sur un userform.
Pour cela, le dispose d'une base de donnée où figure sur la feuille "Encadrement" les personnes qui sont animateurs ou aide-animateurs.
Il y a leur noms, prénoms etc... et le chemin d'accès aux photos stockés sur un dossier dans l'ordi pour que excel puisse les retrouver. Les personnes qui ont un "X" dans la colonne D sont animateurs et ceux qui ont un "X" dans la colonne E sont aide-animateur.
Dans mon userform 1 qui donne accès au trombinoscope des animateurs, il y a plusieurs zone de photos avec sous chacune d'elle un label.
Dans mon userform 2 est la même chose mais pour les aide-animateurs.
Mon objectif est d'afficher soit dans le userform1 TOUS ceux qui sont animateur ("X" figurant dans la colonne D) avec leur nom et prénom dans le label et leur photo juste au dessus en fonction de la position du "X".
Et idem pour le userform2 avec TOUS les aide-animateurs.
Merci d'avance pour votre aide
Johann
Bonjour
Fichier en retour
seul l'userform1 sert pour les deux cas
mettre le nom de l'image sous la forme nom (espace) prénom en jpeg
Salut BOB
Un grand merci
Ça fonctionne nickel !!!!
Autre question:
J'ai une personne qui est listée dans ma base de donnée mais sans photo, celle ci ne s'affiche pas dans le trombinoscope.
En revanche j'ai une image enregistrée dans le dossier photo (H:\Gestion JSP VBA\Photos instructeurs) pour le personnel sans photo (image d'un gros point d'interrogation nommée "Agent inconnu").
Comment insérer le code pour que le personnel sans photo puisse s'affiche quand même avec cette photo "point d'interrogation" ?
voici le code que tu m'a envoyé:
Private Sub UserForm_Initialize()
'AFFICHAGE DES IMAGES
Dim Chemin As String
Dim Code As String
Dim Image As String
Dim NomImage As String
Dim i%, j%, Col%: j = 1
If Nom = "Liste des animateurs" Then Col = 4 Else Col = 4
' On Error Resume Next
For i = 1 To 24
If Sheets("Encadrement").Cells(i + 4, Col) = "X" Then
Image = ""
Controls("Image" & j).Picture = LoadPicture()
Controls("Label" & j).Caption = ""
Code = Sheets("Encadrement").Cells(i + 4, 1) & " " & Sheets("Encadrement").Cells(i + 4, 2)
NomImage = Code & ".jpg"
Chemin = "C:\Users\Public\Pictures\Sample Pictures" 'par exemple
Image = Chemin & "\" & NomImage
If Dir(Image) <> "" Then
Controls("Image" & j).Picture = LoadPicture(Image)
Controls("Label" & j).Caption = Code
j = j + 1
End If
End If
Next i
End Sub
Bonsoir
Pourquoi avoir modifié le Col=5 en Col=4 ?
A tester
Private Sub UserForm_Initialize()
'AFFICHAGE DES IMAGES
Dim Chemin As String
Dim Code As String
Dim Image As String
Dim NomImage As String
Dim i%, j%, Col%: j = 1
If Nom = "Liste des animateurs" Then Col = 4 Else Col = 5
On Error Resume Next
For i = 1 To 24
If Sheets("Encadrement").Cells(i + 4, Col) = "X" Then
Image = ""
Controls("Image" & j).Picture = LoadPicture()
Controls("Label" & j).Caption = ""
Code = Sheets("Encadrement").Cells(i + 4, 1) & " " & Sheets("Encadrement").Cells(i + 4, 2)
NomImage = Code & ".jpg"
Chemin = ThisWorkbook.Path '& "\photos\" par exemple
Image = Chemin & "\" & NomImage
If Dir(Image) <> "" Then
Controls("Image" & j).Picture = LoadPicture(Image)
Controls("Label" & j).Caption = Code
j = j + 1
Else
Image = Chemin & "\" & "Agent Inconnu" & ".jpg"
Controls("Image" & j).Picture = LoadPicture(Image)
Controls("Label" & j).Caption = Code
j = j + 1
End If
End If
Next i
End Sub
Tu es génial !!!!!
Un grand merci BOB
Cordialement
Johann