Chemin d'image dans excel

Chemin d'image dans excel - VB/VBA/VBS - Programmation

Marsh Posté le 29-10-2005 à 16:08:22    

salut à tous,
je recherche le moyen d'inscrire le chemin d'une image (qui se trouve dans un usf) dans une cellule pour ensuite pouvoir retrouver l'image.  
 
un petit fichier excel est dispo a l'adresse suivante , il y a plus d'explications:
 
http://www.excel-downloads.com/com [...] agebis.zip
 
Merci à tous.
 
@+

Reply

Marsh Posté le 29-10-2005 à 16:08:22   

Reply

Marsh Posté le 03-11-2005 à 15:52:06    

As-tu essayé avec la property linkedcell ?


---------------
Ce qui est affirmé sans preuve peut être nié sans preuve.
Reply

Marsh Posté le 03-11-2005 à 17:33:05    

Ok j'ai un peu regardé ton fichier et j'ai plusieur remarques :
 
Sur ta feuille pour le GO crée un vrai commandbutton et place dans la private sub commandbutton_click le userform1.show que tu as dans ta macro1 au lieu de l'affecter à une image.
 
Pour tes autres codes, je te conseille d'éviter d'enlever l' "option explicit". c'est un peu contraignant de devoir déclarer toutes tes variables mais ça te permet de vérifier que tu as bien saisi le nom de la variable (et qu'il ne s'en crée pas automatiquement une nouvelle alors que tu n'en veux pas).
Pour le reste tu n'étais pas loin il te manquait la notion de selecteditem sur le filedialog. Ton code associé au userform devient donc :

Code :
  1. Option Explicit
  2. Public TheFile 'Déclaré en public car elle sert dans les 2 macros
Code :
  1. Private Sub CommandButton1_Click()
  2. Dim i As Byte
  3. Dim DerniereLigne As Integer
  4. DerniereLigne = Range("a65536" ).End(xlUp).Row + 1
  5. With Sheets("Feuil1" )
  6.     Range("A" & DerniereLigne).Value = TextBox1.Value
  7.     Range("B" & DerniereLigne).Value = TextBox2.Value
  8.     If TheFile <> 0 Then
  9.           .Range("Z" & DerniereLigne).Value = TheFile
  10.      Else
  11.           .Range("Z" & DerniereLigne).Value = "Aucun Fichier Image"
  12.      End If
  13. End With
  14.     Unload UserForm1
  15.  
  16. End Sub
Code :
  1. Private Sub Image1_Click()
  2.      With Application.FileDialog(msoFileDialogFilePicker)
  3.           .AllowMultiSelect = False         'Un seul Fichier possible
  4.           .InitialFileName = CurDir         'Répertoire d'ouverture de la fenetre
  5.           .Filters.Clear                    'Annuler les filtres au cas où
  6.           .Filters.Add Description:="Images", Extensions:="*.jpg", Position:=1
  7.           .Title = "Choix de l'image"
  8.      'verification au cas ou click sur annul dans la boite + lance la boite
  9.           If .Show = -1 Then TheFile = .SelectedItems(1) Else TheFile = 0
  10.      End With
  11. 'signaler à la personne qu'aucun fichier n'est choisi
  12. If TheFile = 0 Then MsgBox ("aucun fichier image choisi" )
  13. 'Afficher l'image dans le userform
  14. Image1.Picture = LoadPicture(TheFile)
  15. End Sub


Pour la 2eme partie de ton problème :

Code :
  1. Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
  2. Dim li As Integer
  3. li = ActiveCell.Row
  4. For x = 1 To 2
  5.     Controls("textbox" & x).Value = Cells(li, x).Value
  6. Next x
  7. Image1.Picture = LoadPicture(Sheets("Feuil1" ).Range("Z" & li).Value)
  8. End Sub

il suffit juste d'ajouter le image1.picture = pictureload...
 
bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed