Copie image en fonction de

Résolu
Bonjour,

Après XXX recherches et tentatives d'écriture de code, je n'arrive pas à faire ce que je souhaite, donc je viens vers vous pour un peu d'aide.

But : j'ai une combobox sur ma "feuille1"qui me permet de faire une recherche
et qui m'affiche en cellule N1 une valeur texte "V1" ou "V2" ou "V3"...etc
jusqu'à "V22". J'aimerais que suivant la valeur affichée en N1 s'effectue
la copie d'une image de la "feuille3" sur la "feuille2".

J'avais écrit ceci (qui ne fonctionne pas) :

Sub copyimage ()

If Sheets ("feuille1").Range ("N1")="V1" then Sheets ("feuille3").shapes("Image1").copy
Sheets ("feuille2").Range("B24").paste

End Sub


Si quelqu'un peut m'éclairer :-)

merci

3 réponses

  1. Contributeur
    bonjour, qu'est-ce qui ne fonctionne pas? as-tu un message d'erreur? est-ce le "if" qui ne réagit pas comme tu le souhaites?
    0
    1. Bonjour,
      Regarde ceci :

      EDctxLATHvM_deux_explications.xls
      1
      1. @yg_beSuper, merci à tous les deux!

        En revanche, j'ai un soucis : j'utilise le code si dessous pour transférer une plage de cellule dans un mail, mais malheureusement l'image affichée (grâce à votre solution) ne se transfère pas (bien que dans la zone de sélection). Une idée?

        Code :

        Private Sub CommandButton1_Click()
        Dim rng As Range
        Dim OutApp As Object
        Dim OutMail As Object

        Set rng = Nothing
        On Error Resume Next

        Set rng = Sheets("CourrierSAV").Range("A1:N32").SpecialCells(xlCellTypeVisible)

        On Error GoTo 0

        If rng Is Nothing Then
        MsgBox "The selection is not a range or the sheet is protected" & _
        vbNewLine & "please correct and try again.", vbOKOnly
        Exit Sub
        End If

        With Application
        .EnableEvents = False
        .ScreenUpdating = False
        End With

        Set OutApp = CreateObject("Outlook.Application")
        Set OutMail = OutApp.CreateItem(0)

        On Error Resume Next
        With OutMail
        .To = Range("K1").Value
        .CC = ""
        .BCC = ""
        .Subject = "Commande SAV"
        .HTMLBody = RangetoHTML(rng)
        .Display
        End With
        On Error GoTo 0

        With Application
        .EnableEvents = True
        .ScreenUpdating = True
        End With

        Set OutMail = Nothing
        Set OutApp = Nothing
        End Sub
        0
      2. Contributeur
        @Landry85bonjour, peux-tu expliquer plus précisément ce que tu observes ("l'image affichée ne se transfère pas"): autre chose est-il transféré?
        il me semble que le code VBA que tu as choisi n'envoie pas les images? n'est-ce pas expliqué sur le site où tu l'as trouvé?
        par ailleurs, qu'essaies-tu de réaliser? essaies-tu simplement de mettre une image dans un mail?
        0
      3. @yg_beMerci de te pencher sur mon soucis :-)

        je te mets un fichier test qui explique le principe de mon projet (en simplifié : données confidentielles obligent).

        J'ai donc attribué sur la Feuil1" au prénoms "cedric" et "jean" deux images.
        Quand je recherche "cedric" dans la combobox de la feuille "recherche" ,apparait dans la feuille "courrier" l'image correspondante.
        Quand je clique sur le bouton mail de la page "recherche", les cellules sont transférées mais pas l'image.

        j'imagine qu'il faudrait que je rajoute au code un + ......... ou &......... , à la suite de

        .HTMLBody = RangetoHTML(rng)

        mais je ne sais pas comment appeler cette image.

        https://mon-partage.fr/f/JVRnXY6i/
        0
      4. Contributeur
        @Landry85la fonction RangetoHTML ne s'occupe pas des images.
        tu souhaites insérer le contenu des cellules, ainsi que l'image?
        0