J'ai réussi à faire ce que je veux en suprimant simplement les deux boutons ajout et delete du code, j'ai remplacé par une commande de lecture automatique de l'image en fonction du nom, je vous fait part des modifications.
Et à chaque nouvelle entrer, l'image voulu s'incerere automatiquement, il me reste juste à actualisé à la sortie du champs NOM et BINGO enfin j'imagine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub Form_Current() ' L'événement Activation (Current) se produit lorsque le focus passe à un enregistrement ' donné pour en faire l'enregistrement en cours, ou lorsque le formulaire est ' Actualisé ou en Actualisation. ' si le nom du salarié est non vide : on visualise un enregistrement ' sinon cela indique que nous sommes sur un enregistrement vierge, donc en cours de saisie. ' Me.Caption : gère le titre du formulaire. If Len(Me.Nom) > 0 Then Me.Caption = "Détails pour le salarié : " & Me.Nom & " - " & Me.Prénom Else Me.Caption = "Saisie d'un nouveau salarié" End If ' Gestion des erreurs On Error GoTo Catch02 ' si la photo n'est pas définie, on affiche la photo blank.jpg ' CurrentProject.Path : est le chemin de l'application If Len(Me.Photo) > 0 Then Me.ImgPhoto.Picture = Me.Photo Else Me.ImgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" End If MsgBox CurrentProject.Path Me.ImgPhoto.Picture = CurrentProject.Path & "\images\" & Me.Nom & ".jpg" DisplayPhoto Exit Sub Catch02: Select Case Err.Number Case 2114 'Cas d'un type de fichier photo non supporté ... MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos" Me.ImgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" Me.Photo = vbNullString Case 2220 'Cas d'un emplacement non valide du fichier image Rem MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _ Me.Photo, vbCritical + vbOKOnly, "Application Photos" Me.ImgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" DisplayPhoto Case Else ' tout autre cas d'erreur MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos" End Select Err.Clear End Sub Sub DisplayPhoto() ' Traitement en fonction de la taille de l'image ' regarde si la hauteur de l'image dépasse celle du controle Picture If Me.ImgPhoto.ImageHeight > Me.ImgPhoto.Height Then ' met le controle en mode zoom Me.ImgPhoto.SizeMode = 3 Else ' met le contrôle en mode respect de la taille originale Me.ImgPhoto.SizeMode = 0 End If ' si la largeur dépasse et qu'on est en mode taille réelle ... If (Me.ImgPhoto.ImageWidth > Me.ImgPhoto.Width) And (Me.ImgPhoto.SizeMode) = 0 Then ' on met en mode zoom Me.ImgPhoto.SizeMode = 3 End If End Sub
Je vous avoue que je ne comprend pas l'instruction CurrentProject.Path
je m'explique, dans mon champs Imgphoto j'ai entré le chemin d'acces de la photo blank.jpg qui est:
C:\Users\Mario\Documents\Images\Blank.jpg
quand je demande un msgbox du CurrentProject.Path je reçoit:
C:\Users\Mario\Documents
Pourquoi la partis "\images" n'est pas présent ?
merci
PS. Je suis juste un peu déçus de ne pas avoir réussi à faire fonctionner le code, mais le résultat est la
Partager