Nom de fichiers dans une combobox

Le
JP
Bonjour,

J'ai des fichiers .JPG dans le dossier D:CTXINFORMATIQUEGestion de stock=
Logos
J'ai créé un userform dans lequel j'ai mis une combobox et un controle =
image.
La finalité est de mettre les noms de fichier dans la combobox est en fon=
ction du nom du fichier faire apparaitre le logo dans le contrôle image.
Deux précisions, mon fichier excel est dans le dossier Gestion de stock. =
D:CTXINFORMATIQUEGestion de stock)
et le nombres de fichiers JPG est variable.

J'aurai aimé en voir apparaitre au moins un avec ce code.

Private Sub UserForm_Initialize()
Dim Chemin As String
Chemin = "D:CTXINFORMATIQUEGestion de stockLogos"
ComboBox1.AddItem Chemin Files.Name
End Sub

Mais même pas!



Merci

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #25844912
Bonjour,

Pour mettre le nom de tous les fichiers de ton dossier "Image - JPG"
dans la liste de ton combobox


Private Sub UserForm_Initialize()
Dim Chemin As String, Fichier As String
Dim A As Integer, T()

Chemin = "D:CTXINFORMATIQUEGestion de stockLogos"
Fichier = Dir(Chemin & "*.jpg")

Do While Fichier <> ""
ReDim Preserve T(0 To A)
T(A) = Split(Fichier, "")(UBound(Split(Fichier, "")))
A = A + 1
Fichier = Dir()
Loop
Me.ComboBox1.List = Application.Transpose(T)
End Sub


MichD
---------------------------------------------------------------
JP
Le #25845032
bonsoir Denis,

J'ai bataillé de mon coté pour aboutir à ce code qui fonctionne parti ellement.

Dim Chemin As String
Dim fic As String


Private Sub ComboBox1_Change()
Me.Image1.Picture = Chemin & "" & Me.ComboBox1.Value
End Sub

Private Sub UserForm_Initialize()
Chemin = "D:CTXINFORMATIQUEGestion de stockLogos"
fic = Dir(Chemin & "*.jpg")
Do While fic <> ""
Me.ComboBox1.AddItem fic
fic = Dir
Loop

End Sub
mais l'image n'apparait pas dans le contrôle image1.

J'ai encore une erreur dans Me.Image1.Picture = Chemin & "" & Me.ComboBo x1.Value

JP

Ps Je vais essayer ton code
MichD
Le #25845232
Pour charger une image dans un contrôle image :

Exemple de code :

Dim Fichier As String
Fichier = "C:UsersMichDPicturesPosition 1 au golf.jpg"
Me.Image1.Picture = LoadPicture(Fichier)

Est-ce que je vais réussir mon premier trou d'un coup au golf???
;-)

MichD
---------------------------------------------------------------
JP
Le #25845282
super, il ne me manquait que loadpicture. Je ne vais pas l'oublier!!!
Je vais regarder maintenant pour intégrer cette image selectionnée dans une feuille.

Encore merci.

JP
MichD
Le #25845682
Un exemple d'une procédure complète :

'------------------------------------------------------------------
Private Sub UserForm_Initialize()
Dim Chemin As String, Fichier As String
Dim NomFeuille As String, Plage As String
Dim A As Integer, T()

Chemin = "C:UsersMichDPictures"
Fichier = Dir(Chemin & "*.jpg")

Do While Fichier <> ""
ReDim Preserve T(0 To A)
T(A) = Split(Fichier, "")(UBound(Split(Fichier, "")))
A = A + 1
Fichier = Dir()
Loop
Me.ComboBox1.List = Application.Transpose(T)

'Charger l'image dans le contrôle image et dans la feuille
'de la première image de la liste du combobox
Fichier = Chemin & Me.ComboBox1.List(0)

'Charge l'image dans le contrôle Image du formulaire
Me.Image1.Picture = LoadPicture(Fichier)

'Nom de l'onglet de la feuille où insérer l'image
NomFeuille = "Feuil1"

'Étendue de la plage de cellule où l'image doit apparaitre
'dans la feuille
Plage = "D7:G23"

InsérerImage NomFeuille, Range(Plage), Fichier

End Sub
'------------------------------------------------------------------
Sub InsérerImage(Feuille As String, RgImage As Range, _
NomImage As String)
Dim Rg As Range, Image As Picture
Set Rg = Worksheets(Feuille).Range(RgImage.Address)
With Rg
Largeur = .Offset(, 1)(, .Columns.Count).Left - .Left
Hauteur = .Offset(.Rows.Count).Top - .Item(1).Top
Set Image = Worksheets(Feuille).Pictures.Insert(NomImage)
End With
With Image
.ShapeRange.LockAspectRatio = msoFalse
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlFreeFloating 'or xlmove or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'------------------------------------------------------------------


MichD
---------------------------------------------------------------
JP
Le #25845692
Bonjour Denis,

Je m'empresse de tester.

Merci

JP

PS Une question sur l'accentuation des textes sur le forum.
J'ai perso tous les accents qui génèrent (generent)des caractères biz arroïdes. C'est chez tout le monde pareil?
JP
Le #25845772
Denis,

D'un PC à l'autre, la variable Chemin change forcément.
Est-ce qu'on peut imaginer de trouver le chemin du fichier xlsm et ensuite y ajouter & "logos*.JPG" pour obtenir le chemin complet?

JP
MichD
Le #25846252
Ceci retourne le répertoire dans lequel le classeur se retrouve :

Chemin = ThisWorkbook.Path & "logos*.JPG"

Et pour les accents dans les messages des courriels, dépendamment
de ton lecteur de News, tu peux modifier cela dans les paramètres
de l'application.


MichD
---------------------------------------------------------------
JP
Le #25848122
Bonjour Denis,

Merci pour les réponses. Je viens de tenter de paramétrer Thunderbird p our le forum mais en vain.

JP
MichD
Le #25848102
Je ne peux pas t'aider sur ce coup, je ne connais pas Thunderbird!


MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme