Chargement image

Résolu
centrino34 Messages postés 22 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 12 mars 2012 à 17:09
centrino34 Messages postés 22 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 25 mars 2012 - 17 mars 2012 à 20:28
Private Sub Worksheet_Change(ByVal Target As Range)
    
If Target.Column 11 And Target.Count 1 Then
    '-- suppression
        For Each s In ActiveSheet.Shapes
            If s.Type = 13 Then
                If s.TopLeftCell.Address = Target.Offset(0, 1).Address Then
                    s.Delete
                End If
            End If
        Next s
    '--
        If Target <> "" Then
            On Error GoTo Pas_Image
            Sheets("Images").Shapes(Target).Copy
            On Error GoTo 0
            Target.Offset(0, 1).Select
            ActiveSheet.Paste
            Selection.ShapeRange.Left = ActiveCell.Left + 9
            Selection.ShapeRange.Top = ActiveCell.Top + 32
            Target.Select
        End If
    End If
Pas_Image:
    If Error = "L'élément portant ce nom est introuvable." Then Exit Sub
End Sub

Bonjour voilà mon soucis après plusieurs essais infructueux malgré mes recherches sur les forums, je sollicite votre aide
donc: sur ma feuille j'utilise actuellement la colonne K pour écrire un nom et une image apparaît juste a côté cela fonctionne bien, cependant j'aimerais que les images s'affichent toujours sur cette feuille mais que je puisse faire la sélection des noms à partir de mon UserForm dans une ComboBox.
est-ce possible?
merci pour votre aide

9 réponses

mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
13 mars 2012 à 00:31
bonjour

'dans le cas ou le NomDeImage
'se trouve dans une Liste et est sélectionné
FichierName = MonUserForm.MonControlList.Value
'charge dans le Controle Image "MonImage" du Form "MonUserForm" l'image "Image.jpg"
MonUserForm.MonImage.Picture = LoadPicture(CheminDeImage & FichierName & ".jpg")


@+JP
3
centrino34 Messages postés 22 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 25 mars 2012
15 mars 2012 à 14:13
Bonjour mjpmjp merci de ton aide cependant j'ai oublié de dire que les images sont dans une feuille du classeur que j'utilise
merci
If Target.Column 11 And Target.Count 1 Then
'faut il remplacer cette ligne de code par FichierName = MonUserForm.MonControlList.Value
' que faut il mettre a la place de fichier name
'MonUserForm.MonImage.Picture = LoadPicture(CheminDeImage & FichierName & ".jpg")
'ou mettre cette ligne de code en sachant que les images sont dans une feuille du classeur
'merci pour ton aide

3
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
16 mars 2012 à 13:31
bonjour

MonUserForm est le conteneur ta Feuille ou
Sheets("NomOnglet") est aussi un conteneur.
Sheets("NomOnglet") contient le control "MonImage"
qui contient "Picture" qui contient ton Image.jpg

LoadPicture(CheminDeImage & FichierName & ".jpg")


la notion de contenir n'est peut etre pas exacte,
c'est juste pour comprendre le fonctionnement.

Sheets("NomOnglet").MonImage.Picture 
= LoadPicture(CheminDeImage & FichierName & ".jpg")


apres tu as plusieur façon de faire voir Sheets dans l'aide
tu peu aussi mettre une variable dans Sheets(Variable).
et aussi:

Sheets(ActiveSheet.Name).MonImage.Picture


attention au 'S' Sheets(ActiveSheet.Name)

@+JP
3
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
16 mars 2012 à 16:52
bonjour

Private Sub CreationList()
  'pour mettre les nom dans listBox
  'une boucle pour lire les nom dans colonne et les ecrire dans Listbox
  For n = LigneDebut To LigneFin
    MonUserForm.MaListBox.AddItem(ActiveSheet.Range("MaColonne" & Cstr(n)).value)
  Next
End sub


Private Sub MaListBox_Change()
  'on selectionne un nom dans la liste
  NomSelection = MonUserForm.MaListBox.Value

  'on charge une image.jpg qui se trouve dans un repertoire
  'et on place l'image dans le control dans la feuille (onglet)
  Sheets(ActiveSheet.Name).MonControlImage.Picture...
  ...= LoadPicture(CheminDeImageDansRepertoire & NomSelection & ".jpg")
End sub

ne pas mettre les "...."
et les images meme nom que dans la liste
@+JP
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mjpmjp Messages postés 115 Date d'inscription dimanche 6 avril 2003 Statut Membre Dernière intervention 29 juin 2012
17 mars 2012 à 07:32
bonjour

'si tes images sont dans une feuille
sheets("MaFeuille1").MonControleImage1.Picture...
...= sheets("MaFeuille2").MonControleImage2.Picture


@+JP
3
centrino34 Messages postés 22 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 25 mars 2012
16 mars 2012 à 15:37
Bonjour mjpmjp veuillez excuser ma stupidité, mais je n'arrive pas à comprendre comment intégrer vos lignes de code à mon code
je sollicite votre aide à nouveau
merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2012 à 15:48
Je comprends ce que tu as pu penser, mais : même si cela avait été réalisable, ce serait peine perdue si, comme tout le donne à penser, toutes les variables sont "englouties" par un fil qui semble être distinct et mal géré, de création de l'objet OLE.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2012 à 16:16
Zut !
Erreur de discussion (pas tenir compte de ce message).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
centrino34 Messages postés 22 Date d'inscription samedi 6 novembre 2010 Statut Membre Dernière intervention 25 mars 2012
17 mars 2012 à 20:28
Merci pour votre aide
0
Rejoignez-nous