Affichage image

bonjour

je suis bloque dans ce code

a chaque fois que je clic sur une ligne (tout en gardant la surbrillance de ma ligne )

  • je voudrai afficher mon image en haut de mon tableau (emplacement en J3)
  • le chemin de l image se trouve dans la colonne "H" ( liens hypertexte )

-si il n'y pas de liens dans cette cellule je voudrai ouvrir l explorateur de fichier pour aller cherche le liens et l écrire dans la colonne "R" de la ligne correspondante

voici le fichier une partie du tableau

17nomenclature-1.xlsm (476.00 Ko)

merci de m aide

Salut Yeti,

Le Forum,

- le chemin de l image se trouve dans la colonne "H" ( liens hypertexte )

Dans ta colonne H tu n'a pas un chemin mais une colonne "Fabriquant", et c'est dans ta colonne R que tu a un lien hypertexte.

Le Hic, c'est qu'un lien Hypertexte n'affiche que le nom du fichier "xxxx.PNG" sans afficher le chemin à suivre pour l'atteindre "C:\Image\xxxx.PNG"

Avec ce chemin à suivre, ce serait trèèèèèès très très simple de réalisé ta demande.

Est-ce qu'il est renseignée quelque part, ou est-ce que tu n'a vraiment que ton lien hypertexte ?

Restant à dispo

bonjour

le lien se trouve effectivement en R

mon fichier ou se trouve mon tableau est dans un dossier et les photo se trouves dans le meme dossier

dossier --------------------fichier nomenclature

----- repertoire photo

1 question

si je sauvegarde mon dossier sur une cle USB je veux garder mon fichier qui fonctionne

2 question

comment fait on pour afficher le chemin complet en colonne R

j espere etre le plus clair possible

je le renseigne nul part dans le fichier la seul info que j ai c'est dans la colonne R

par contre je ne vois pas ou tu as trouve dans la colonne H le liens hypertexte

a+

Bonjour à tous,

à tester,

Sub afficheimage(ligne As Long)
With ActiveSheet
x = .Cells(ligne, "R").Hyperlinks(1).Address
.Range("J3:Q6").Activate
.Pictures.Insert (x)
End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'procedure permettant de mettre en surbrillance la ligne
'a9:az1573

    'on empeche de selection deux cellule
    If Target.Count > 1 Then Exit Sub
        'on declencle action unique sur la plage du tableau
        If Not Intersect(Target, Range("nomenclature")) Is Nothing Then
          'on recupere le numero de la ligne selectionner
            Range("a5").Value = Target.Row

          'on appelle la prochecedure
           If Cells(Target.Row, "R") = "" Then
              'on efface la cellule
               Range("a5").ClearContents
               Exit Sub
           Else
               If ActiveSheet.Shapes.Count > 0 Then ActiveSheet.Shapes(1).Delete
               Call afficheimage(Target.Row)
           End If
   End If

End Sub

j ai teste la macro mais un souci

j ai mis la macro afficheimage dans un module

et l'autre partie dans un feuille

par contre j ai un beug

ca plante a l endroit la

.Pictures.Insert (x)

je suppose c'est quant veut insérer l image

15nomenclature-2.xlsm (471.02 Ko)

re,

quel est la valeur de la variable x au moment du bug ?

tu vois ca comment les variables ?

dans ta macro on a pas declarer de variable

re,

lorsqu'il y un bug, appui sur le bouton debug,

la ligne posant problème devrait être en jaune,

place le curseur sur la variable x

un pop-pop va apparaître pour montrer sa valeur.

il indique que le monceau de chemin de la photo

je pense qu'il faudrait marquer le chemin en entier pour que ca fonctionne mais je ne sais pas comment faire ?

re,

je pense qu'il faudrait marquer le chemin en entier pour que ca fonctionne mais je ne sais pas comment faire ?

tu ne sais pas ou sont les fichiers ?

oui je sais, ils sont dans le meme repertoire car je veux pas les perdre quand je sauvegarde sur une cle USB et je souhaite que mon fichier fonctionne toujours

mais je sais pas comment inscrire le lien complet dans la cellule

je sais pas si je passe par un lien hypertexte ?

re,

une autre solution serait de mettre uniquement le nom des fichier en cellule, (MonImage1.jpg)

et de remplacer la ligne

x = .Cells(ligne, "R").Hyperlinks(1).Address

par

x = ThisWorkbook.Path & "\" & .Cells(ligne, "R")

ok merci de ton aide ca marche

Rechercher des sujets similaires à "affichage image"