formulaire avec photo

nrdz83

XLDnaute Impliqué
Bonjour à tous
je cherche à faire un formulaire de personnel avec l'ajout d'une image. Pour cela j'ai un champ image et un bouton Inserer qui me permet de charger l'image dans mon userform.

Code du bouton inserer:
Code:
Private Sub BTN_Inserer_Click()

Dim Photo As Variant
Photo = Application.GetOpenFilename("Fichiersbmp/gif/jpg/tiff,*.bmp;*.gif;*.jpg;*.jpeg;*.tiff")

If Photo = False Then Exit Sub 'pour le cas où l'utilisateur clique sur annuler
IMG_Personne.Picture = LoadPicture(Photo)
BTN_Inserer.Caption = "Modifier"
BTN_Supp.Visible = True 'affiche le bouton éfface image

End Sub

Ce que je n'arrive pas à faire c'est de saisir l'adresse de cette photo dans ma feuille "BD_Personne"
j'ai commencé avec ce code

Code:
Private Sub BTN_Valider_Click()
Dim derlig As Long
With Sheets("BD_Personnel")

'On teste la saisie du nom ..
If Me.Text_Nom.Text = "" Then
MsgBox "vous devez saisir un nom!"
Me.Text_Nom.SetFocus
Exit Sub
End If

'On teste la saisie du prénom ..
If Me.Text_Prenom.Text = "" Then
MsgBox "vous devez saisir un prénom!"
Me.Text_Prenom.SetFocus
Exit Sub
End If



derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(derlig, 1).Value = UCase(Text_Nom) 'ucase permet de mettre en majuscule
.Cells(derlig, 2).Value = Application.Proper(Text_Prenom) 'permet de mettre la première lettre en majuscule
.Cells(derlig, 3).Value = ComboBox_Grade
.Cells(derlig, 4).Value = Text_Matricule
.Cells(derlig, 5).Value = Text_Adresse
.Cells(derlig, 6).Value = Format(Text_Codepostal, "00000") 'format code postal
.Cells(derlig, 7).Value = UCase(Text_Ville)
.Cells(derlig, 8).Value = Format(Me.Text_Téléphone, "0#"" ""##"" ""##"" ""##"" ""##")
.Cells(derlig, 9).Value = IMG_Personne

End With
End Sub

j'ai un eerreur au niveau de l'image.

Comment dois je modifier mon code ?

Par aavnce merci à tous

amitiés
 

camarchepas

XLDnaute Barbatruc
Re : formulaire avec photo

Bonjour za tous,

J'utilise ceci pour mes besoins perso,

(en fait j'en ai fait une procédure paramètrable que j'appelle comme ceci

call AfficheImage (Chemin + nom du fichier image, Nom court de l'image, cellule cible , a toi de voir )

dans ton cas ,pour convertir l'adresse entre cells et range pour l'init de cible,

il faudra remplacer cible ="C3") par

cible = Cells(3, 3).Address

Code:
photo = "C:\Recup\Artistes\BRUEL Patrick.jpg"
nomPhoto = "BRUEL_Patrick"
cible = "C3"
'cellule cible
Range(cible).Activate
'insertion
with ActiveSheet
  .Pictures.Insert(photo).Name = nomPhoto
  with .Shapes(nomPhoto)
    'Ajuste dimensions
     .Left = Range(cible).Left
     .Top = Range(cible).Top
     .LockAspectRatio = msoFalse
     .Height = Range(cible).Height
     .Width = Range(cible).Width
  end with 
end with
 
Dernière édition:

nrdz83

XLDnaute Impliqué
Re : formulaire avec photo

Bonjour et merci pour votre aide
j'ai bien fait ce que tu me conseillais Myta la bonne nouvelle c'est que je n'ai plus d'erreur.

La moins bonne nouvelle c'est que rien ne se passe dans ma feuille excel.

Faut il mettre un format aux cellules ?
Ou autre chose à faire ?

Par vance merci pour vos lumières
amitiés et bonne journée à tous
 

nrdz83

XLDnaute Impliqué
Re : formulaire avec photo

Bonjour, le fil et bruno

Super effectivement dans la sub du bouton inserer je répetais "Dim Photo As Variant"

ça fonctionne donc merci à tous et bonne journée

Encore tes lumières BrunoM45, bonne journée

amitiés
 

Discussions similaires

Réponses
12
Affichages
446

Statistiques des forums

Discussions
312 218
Messages
2 086 359
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang