Insérer une image via userform si une checkbox est sélectionnée

ronanm

XLDnaute Nouveau
Bonjour forum,

Voici mon défi :

J'ai créer une userform qui me permet de renseigner un nom, un numéro de produit ...
Cependant, en plus, je souhaite ajouter à la fiche produit des images dans les "cadres images" préinstallé sur la fiche produit. .
Pour ce faire, la userform propose une série d'image à sélectionner via des checkbox.

Une ou plusieurs checkbox peuvent etre sélectionnées et je souhaiterais que les images soit intégrées dans les cases prévus en commençant le remplissage par la case n°1 et continuer en fonction des images sélectionnées.
Exemple, en case 1, l'image 2 sélectionner
en case 2, l'image 4
en case 3, l'image 7 par exemple ...

Merci par avance.

Voici une trame du fichier ! Regarde la pièce jointe fiche.xls

Cordialement,
ronanm
 

Pièces jointes

  • fiche.xls
    245 KB · Affichages: 163
  • fiche.xls
    245 KB · Affichages: 149

ronanm

XLDnaute Nouveau
Re : Insérer une image via userform si une checkbox est sélectionnée

Re,
Les liens et les tutos ne me permettent pas de réaliser ce que je souhaite. J'en avais déjà pris connaissance mais je ne savais pas comment l'adapter à mon cas.

En gros, je voulais écrire (mais je ne sais pas comment faire) une fonction disant

Code:
If CheckBox1 = True Then Copy 'image1 dans la case qui est disponible en commencant par la case 1 de la feuille'

Et ainsi de suite, par exemple
If CheckBox3 = True Then Copy 'image 2 et idem et donc coller en case 2' ...

Mais je ne sais pas comment écrire tout cela et mettre les conditions !! Si vous pouviez m'aider cela serait royal.

Cordialement
 

ronanm

XLDnaute Nouveau
Re : Insérer une image via userform si une checkbox est sélectionnée

J'ai essayer avec cela mais il manque bien sur des éléments

Code:
'If CheckBox1 = True Then Sheets("images").Select
'ActiveSheet.Shapes("image1").Copy
'Sheets("Feuil1").Select
'ActiveSheet.Paste

Mais il ne copie qu'une image, ne la colle pas ou je veux et ne test pas si les autres cases sont sélectionnées
 

Papou-net

XLDnaute Barbatruc
Re : Insérer une image via userform si une checkbox est sélectionnée

Bonjour ronanm, les participants

Voici une solution qui fonctionne, mais qui reste à compléter. Je m'explique :

L'affichage des images se fait très bien, mais je ne parviens pas encore à réinitialiser les images pour une seconde utilisation. Je poursuis mes recherches, donc en attendant, la 1ère boucle reste en commentaire.

Code:
Private Sub CommandButton1_Click()
'For n = 1 To 9
'  Sheets("Feuil1").OLEObjects("img" & n).Object.Picture = ""
'Next
num = 1
For n = 1 To 9
  If Controls("Checkbox" & n) Then
    If CheckBox1 = True Then TextBox1.Text = "SGH01"
    If TextBox1.Text = "" Then
      MsgBox "Entrer un nom de produit"
      Exit Sub
    End If
    Sheets("Feuil1").OLEObjects("img" & num).Object.Picture = Sheets("images").OLEObjects("Image" & n).Object.Picture
    num = num + 1
  End If
Next
Range("B1") = TextBox1.Text
Range("B2") = TextBox2.Text
Range("B3") = TextBox3.Text

TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
Unload Me
End Sub

Espérant avoir aidé.

Cordialement.

RE Hippolite : le fichier est joint depuis le 1er poste
 

ronanm

XLDnaute Nouveau
Re : Insérer une image via userform si une checkbox est sélectionnée

youhouu !! Eustraa !!
Enfin voici le fichier avec le code de Papou-net. Merci beaucoup.


Le code fonctionne très bien pour l'ajout d'image. merci.

Je cherche également comment réinitialiser les images. En enregistrant en macro cela ne fonctionne pas non plus ...

Dans la recherche et dans cette attente, merci beaucoup pour ce superbe départ !
Cordialement.
Ronan
 

Pièces jointes

  • fiche 2.xls
    246.5 KB · Affichages: 217
  • fiche 2.xls
    246.5 KB · Affichages: 197

ronanm

XLDnaute Nouveau
Re : Insérer une image via userform si une checkbox est sélectionnée

RE, re

Voici ce que je viens de trouver pour réinitialiser et cela fonctionne plutot bien.
(A ajouter sur le bouton de commande qui lance la userform)

Code:
Private Sub CommandButton1_Click()
For n = 1 To 9
Sheets("Feuil1").OLEObjects("img" & n).Object.Picture = LoadPicture()
Next
UserForm2.Show
End Sub

Merci mille fois.

Je test cela sur mon fichier original et je vous tiens au courant !!

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi