XL 2010 VBA - Mettre une image intégrée en arrière plan

tchi456

XLDnaute Occasionnel
Bonjour,

J'ai un code qui fonctionne très bien grâce aux passionnés d'Excel se trouvant sur ce site pour pouvoir insérer des PDF en tant qu'image sur une feuille Excel cependant je souhaiterais que l'image intégrée se mette en arrière plan pour que je puisse déplacer les objets N°1 à 20 sur mon image importée.

De plus quand je clique sur "Supprimer PDF" je voudrais que mes objets N°1 à 20 ne soient pas supprimés.

Le fichier est verrouillé par mot de passe; il s'agit d'un point "."

Pouvez-vous m'aider?

Meilleures salutations,

Thierry
 

Pièces jointes

  • Test.xlsm
    124.1 KB · Affichages: 9
Dernière édition:
Solution
Bonjour kiki29,

J'ai bien essayé de copier votre code à tous les endroits possible mais j'ai à chaque fois un message d'erreur.
Ne manque-t-il pas qqch ?

Meilleures salutations,

Thierry
Code simplifié avec la préco de @kiki29 :
VB:
Sub SelectionPDF()
Dim Target As Range

ActiveSheet.Unprotect Password:="."
    Set Target = ActiveCell ' <-- cellule où sera déposée le Pdf
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = ThisWorkbook.Path & "\"
        .Title = "Sélectionner le fichier PDF"
        .AllowMultiSelect = False
        .ButtonName = "Sélection Fichier"
        With .Filters
            .Clear
            .Add "PDF", "*.pdf"
        End With
        If .Show Then...

tchi456

XLDnaute Occasionnel
Bonjour franch55,

Merci beaucoup pour votre aide. Votre proposition pour la suppression fonctionne très bien par contre l'image intégré reste en premier plan et je ne peux malheureusement pas déplacer mes objets 1 à 20 (en rouge) sur cette image.

Meilleures salutations,

Thierry
 

fanch55

XLDnaute Barbatruc
Bonjour kiki29,

J'ai bien essayé de copier votre code à tous les endroits possible mais j'ai à chaque fois un message d'erreur.
Ne manque-t-il pas qqch ?

Meilleures salutations,

Thierry
Code simplifié avec la préco de @kiki29 :
VB:
Sub SelectionPDF()
Dim Target As Range

ActiveSheet.Unprotect Password:="."
    Set Target = ActiveCell ' <-- cellule où sera déposée le Pdf
    With Application.FileDialog(msoFileDialogFilePicker)
        .InitialFileName = ThisWorkbook.Path & "\"
        .Title = "Sélectionner le fichier PDF"
        .AllowMultiSelect = False
        .ButtonName = "Sélection Fichier"
        With .Filters
            .Clear
            .Add "PDF", "*.pdf"
        End With
        If .Show Then
            Application.ScreenUpdating = False
                With ActiveSheet.OLEObjects.Add(Filename:=.SelectedItems(1))
                    .Name = "PdfImg"
                    .ShapeRange.ZOrder msoSendToBack
                    .Left = Target.Left
                    .Top = Target.Top
                    ' Proportions du PDF : à ajuster manuellement
                    .Width = Target.Width * 3.385
                    .Height = Target.Height * 16.925
                End With
            Application.ScreenUpdating = True
        End If
    End With
ActiveSheet.Protect Password:="."
    
End Sub
 

tchi456

XLDnaute Occasionnel
Re-bonjour franch55,

Mais bien sur ça parait évident 😂. Non sincèrement je sais pas comment vous faites car pour moi c'est du chinois. Je vous félicite et vous remercie infiniment pour votre aide si précieuse.

Merci également à kiki29 et bonne journée vous deux.

Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 214
Messages
2 086 311
Membres
103 175
dernier inscrit
abcc