Insérer photo dans cellule

Résolu
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - 14 avril 2024 à 16:44
Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 - 17 avril 2024 à 17:18

Bonjour,

Je souhaiterais créer un complément Excel en créant une fonction qui insère une photo dans la cellule où est écrite la fonction.

Celle-ci doit se présenter avec deux variables qui complèteront le chemin d'accès de l'image. Les colonnes des variables ne sont pas toujours à la même place en fonction des fichiers utilisés.

Il faudrait aussi que la fonction complète automatiquement les lignes suivantes jusqu'à la dernière ligne non vide du fichier.

J'ai fait ce code ci-dessous mais cela ne fonctionne pas comme je le souhaite.

Function InsererImage1(Variable1 As Range, Variable2 As Range, Plage As Range)

    Dim cell As Range
    Dim CheminImage As String
    Dim clV1 As Integer
    Dim clV2 As Integer
    Dim Var1 As String
    Dim Var2 As String
    
    clV1 = Variable1.Column
    clV2 = Variable2.Column
        
   ' Chemin vers l'image à insérer
    CheminImage = "C:\Chemin_à_personnaliser\" ' Remplacez ceci par le chemin de votre image
    
   ' Parcours de chaque ligne de la plage de données
    
    For Each cell In Plage.Rows
        
        Var1 = cell.Cells(cell.row, clV1).Value
        Var2 = cell.Cells(cell.row, clV2).Value
        
        cell.InsertPictureInCell (CheminImage & Var1 & "\" & Var2 & ".jpg")
        
    Next cell

End Function

Merci pour votre aide et bonne journée.
Windows / Chrome 123.0.0.0

A voir également:

2 réponses

Louloude74 Messages postés 62 Date d'inscription mercredi 1 août 2018 Statut Membre Dernière intervention 17 avril 2024 1
17 avril 2024 à 17:18

Bonjour Bruno,

En fait mon approche n'était pas la bonne. 

Je souhaitais refaire une macro d'import d'image. Elle fonctionne très bien mais cette macro est associée à un bouton que j'ai intégré dans le ruban. Cela me permettait de l'appeler depuis n'importe quel classeur Excel. Le problème est à qu'à chaque appel le classeur source s'ouvrait aussi. Ce n'était pas gérable. J'ai donc enregistré le classeur avec macro au format xlam. J'ai intégré la macro d'import au ruban. Ca fonctionne parfaitement bien. le classeur source ne s'ouvre plus à chaque appel. j'aurais dû y penser avant.

Merci et bonne journée.

1
Bruno83200_6929 Messages postés 89 Date d'inscription jeudi 18 juin 2020 Statut Membre Dernière intervention 21 avril 2024 13
14 avril 2024 à 21:18

Bonsoir,

Et si vous mettez un 1 en replacement de cell.row dans Var1 & Var 2 dans le style :

Var1 = cell.Cells(1, clV1).Value

Et que vous remplacez InsertPictureInCell par ActiveSheet.Pictures.Insert

Ca ne coute rien d'essayer


0