image dans usf

J

justine

Guest
bonjour a tous
j'aimerais implanter des images dans une userform mais voila, j'ai deux extensions jpg et gif, comment faire pour afficher l'image selon l'extension?

merci
 

JYLL

Nous a quitté
Repose en paix
Bonjour,

Je joins les deux lignes qui peuvent donner la solutionpour l'affichage des images. Il faut faire attention au nombre de pixels sinon les images ne sont affichées que partiellement.

Bon test.

JYLL

UserForm1.Picture = LoadPicture('c:\\zezette.jpg')
UserForm1.Picture = LoadPicture('c:\\zouzou.jpg')
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir à tous


Oui d'accoda avec Jyll 'LoadPicture' est la clef ...

Un exemple concret basic :

Matériel :

1 Userform
1 CommandButton ('CommandButton1')
2 OptionButtons ('OptionButton1' & 'OptionButton2)
1 Control Image ('Image1') (oups)
Ce code :

Option Explicit

Private Sub UserForm_Initialize()
   
With Me
    .OptionButton1.Caption = 'Fichiers GIF'
    .OptionButton2.Caption = 'Fichiers JPG'
   
End With
End Sub

Private Sub CommandButton1_Click()
Dim TheFile As Variant
Dim ThePath As String
Dim UserDir As String
Dim Extention As String


Extention = IIf(Me.OptionButton1 = True, '*.gif', '*.jpg')


ThePath = 'C:\\Mes Documents\\'
'a ajuster au répertoire contenant tes images

UserDir = CurDir
   
On Error Resume Next 'si le path n'existe pas (non ajusté ci dessus)
        ChDir ThePath
   
On Error GoTo 0

TheFile = Application.GetOpenFilename('image(' & Extention & '),' & Extention & '')
If TheFile = False Then ChDir UserDir: Exit Sub

With Me.Image1
    .Picture = LoadPicture(TheFile)
    .PictureSizeMode = fmPictureSizeModeZoom
End With

ChDir UserDir
End Sub

Bonne Soirée
[ol]@+Thierry[/ol]


EDITION !!!

Oubli du control Image1 indispensable Of Course !!! lol

Message édité par: _Thierry, à: 04/12/2005 17:40
 
J

justine

Guest
tout d'abord merci pour les solutions
voila mon souci, mon image, je la selectionne d'une combobox.
mais, mon image selectionee peut avec une extension jpg ou gif.
et ca, je peux pas le savoir.
donc, je souhaiterai ouvrir cette fameuse image quelque soit sont extension.
merci de consacrer du temps a mon probleme
justine
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Justine, Jyll, Jcgl, le Forum

Je ne saisis pas ta difficulté, en fait si tu choisis ton image depuis une ComboBox c'est que forcément tu en connais son extension ? non ?

Dans tous les cas la syntax suivante permet d'afficher une image quelle que soit son extension :

object.Picture = LoadPicture( pathname )

pathname Chemin d'accès complet vers un fichier d'image, donc avec l'extension...

Sinon je commence à m'imaginer ton problème, c'est que tu as dans ta ComboBox que des noms d'images que tu as entrées en 'dûr'... Mais alors il faudrait peut voir un peu à repenser ta façon d'incrémementer ces noms dans la ComboBox... (colonne cachée avec extension par exemple) ou encore en solution barbatruc il faudrait tester et gérer l'erreur...

Private Sub CommandButton1_Click()
Dim ThePath As String
Dim UserDir As String
Dim Extention As String

Extention = '.GIF'

ChangeExtention:

ThePath = 'C:\Mes Documents\' & Me.ComboBox1 & Extention

With Me.Image1
   
On Error GoTo ErrorHandler
    .Picture = LoadPicture(ThePath)
    .PictureSizeMode = fmPictureSizeModeZoom
End With

Exit Sub
ErrorHandler:
If Err = 53 Then Extention = '.JPG': GoTo ChangeExtention

End Sub

Mais là ça commence à sentir le gaz !

Sinon une variante un peu plus propre consiterait en un appel à un Script 'FileSystemObject' comme suit :

Private Sub CommandButton1_Click()
Dim ThePath As String
Dim UserDir As String
Dim Fso As Object

Set Fso = CreateObject('Scripting.FileSystemObject')

ThePath = 'C:\Mes Documents\' & Me.ComboBox1 & '.gif'

         
If Fso.FileExists(ThePath) = False Then
          ThePath = 'C:\Mes Documents\' & Me.ComboBox1 & '.jpg'
         
End If

With Me.Image1
    .Picture = LoadPicture(ThePath)
    .PictureSizeMode = fmPictureSizeModeZoom
End With

End Sub

Celà sera un peu moins tordu...mais bon !

Bonne Soirée
[ol]@+Thierry[/ol]
 
J

justine

Guest
en fait, initialisais ma usf en entrant tous les noms des photos de mon repertoires
mais on pouvait me dire comment mettre toutes les photos quelquesoit l'extension dans ma combo , se serait plus rapide
mais la je sais pas faire
en fait, il faut analyser tous les dossiers du repertoire voulu
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonsoir Justine

J'ai l'impression qu'on tourne en rond ...

Quel code utilises-tu pour incrémenter les noms de fichiers dans ta ComboBox ? Utilises-tu la méthode 'FileSearch' ?

Dans ce cas ignore pûrement et simplement la commande 'FileName'....

Exemple :

Sub ListFichiers()
Dim ThisBookPath As String
Dim SearchFile As FileSearch
Dim ThePath As String
Dim i As Integer


Set SearchFile = Application.FileSearch
ThePath = 'C:\Mes documents\'
'

   
With SearchFile
        .NewSearch
       
'.Filename = '*.*' 'ICI
        .LookIn = ThePath
        .SearchSubFolders =
False
        .Execute msoSortByFileName, msoSortOrderAscending
           
If .Execute > 0 Then
               
With .FoundFiles
                   
For i = 1 To .Count
                        Cells(i, 1) = Dir(.Item(i))
                   
Next i
               
End With
           
Else
            MsgBox 'No File Found ' & ThePath
           
End If
   
End With
Set SearchFile = Nothing
End Sub

Bon je dois partir maintenant, bonne soirée
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
=> UerForm DEMO Control Image avec ListBox Browser

Bonjour Justine, le Fil, le Forum

Oui j'ai bien l'impression que tu as des soucis, Justine.

Le plus simple afin d'éviter de partir dans tous les sens, étant de faire une mini démo qui regroupera la méthode complète pour afficher indépendemment des '.gif' ou des '.jpg' dans un Control ActiveX 'Image' en utilisant 'FileSearch' pour rendre une ListBox comme un 'Browser' de fichiers définis 'Gif' ou 'Jpg'...

Il suffit de sauver ce classeur dans un répertoire contenant des fichiers avec ces formats (le UserForm sélectionnera uniquement les extensions voulues même si le répertoire où ce classeur sera sauvé contient d'autres formats)

Bonne Découverte et Journée et Semaine !
[ol]@+Thierry[/ol] [file name=USF_Gif_Or_JPG_Viewer.zip size=10963]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/USF_Gif_Or_JPG_Viewer.zip[/file]
 

Pièces jointes

  • USF_Gif_Or_JPG_Viewer.zip
    10.7 KB · Affichages: 75

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> UerForm DEMO Control Image avec ListBox Browser

Re Bonjour Justine, le Fil

De rien !

Pour ta dernière question, oui si tu parles de lister des documents Word ou Excel, mais NON si tu penses les afficher dans un Control ActiveX Image...

Pour ce faire, soit tu as le control ActiveX WebBrowser, ou bien plus simplement 'FollowHyperlink' qui t'ouvrira le fichier directement dans son application respective.

Bonne Journée
[ol]@+Thierry[/ol]
 

Discussions similaires

Réponses
1
Affichages
341
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 679
Messages
2 090 858
Membres
104 677
dernier inscrit
soufiane12