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

desert jellyfish koala lighthouse tulips
46essai.xlsm (27.76 Ko)

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

160essai-2.xlsm (33.58 Ko)

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

agent inconnu

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

Rechercher des sujets similaires à "trombinoscope userform"