Bonjour,
J’ai créé un formulaire sous excel. L’utilisateur saisie différentes informations et a la possibilité d’insérer une photo en cliquant sur un bouton qui effectue la commande suivante :
Private Sub CommandButton1_Click()
Dim PHOTO As Variant
Dim Gauche, Sommet, Largeur, Hauteur As Single
PHOTO = Application.GetOpenFilename("Images JPEG (*.jpg), *.jpg")
Gauche = Range("ZP").Left
Sommet = Range("ZP").Top
Largeur = Range("ZP").Width
Hauteur = Range("ZP").Height
If PHOTO <> False Then
Feuil1.Shapes.AddPicture PHOTO, True, True, Gauche, Sommet, Largeur, Hauteur
End If
End Sub
Private Sub PHOTO_Click()
End Sub
"ZP" correspond à la Zone Photo (insertion).
Ce programme fonctionne !
Là où ça se complique, c’est lorsque je veux utiliser la protection de la feuille tout en permettant à l’utilisateur de modifier certaines plages.
Je prends soin de libérer la "ZP" et déverrouille la protection du bouton dans le format de contrôle.
Lorsque j’active mon programme en mode création, je clique sur le bouton et accède sans problème à mon dossier photos. J’en sélectionne une et valide.
VB m’indique alors une « Erreur d’exécution ‘1004’ : Erreur définie par l’application ou par l’objet ».
Le débogage cible : Feuil1.Shapes.AddPicture PHOTO, True, True, Gauche, Sommet, Largeur, Hauteur
J’imagine que c’est parce que je pointe sur Feuil1.Shapes et qu’elle est protégée ?
Quelqu’un aurai-t-il une solution ?