Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nom de fichiers dans une combobox

25 réponses
Avatar
JP
Bonjour,

J'ai des fichiers .JPG dans le dossier D:\CTX\INFORMATIQUE\Gestion de stock=
\Logos
J'ai cr=E9=E9 un userform dans lequel j'ai mis une combobox et un controle =
image.
La finalit=E9 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=F4le image.
Deux pr=E9cisions, mon fichier excel est dans le dossier Gestion de stock. =
D:\CTX\INFORMATIQUE\Gestion de stock)
et le nombres de fichiers JPG est variable.

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

Private Sub UserForm_Initialize()
Dim Chemin As String
Chemin =3D "D:\CTX\INFORMATIQUE\Gestion de stock\Logos"
ComboBox1.AddItem Chemin \ Files.Name
End Sub

Mais m=EAme pas!



Merci=20

JP

5 réponses

1 2 3
Avatar
JP
Je suis conscient que l'apprentissage est long, je bataille suffisamment po ur l'admettre.
J'ai passé beaucoup de temps pour comprendre et aussi fait beaucoup de re cherche pour en finalité bloquer sur cette erreur.
Pour ce qui est du Dir, je n'ai pas fait de recherche mais je pensais que c omme sous notre bon vieil msdos, dir était un raccourci de directory.
Dir(chemin&combobox1.value) pour moi affectait à la variable NomImage des données string correspondant au path.

Merci pour tes remarques.

JP
Avatar
MichD
Si tu veux plus d'aide, utilise le site Cjoint.com et publie ton fichier.
Assure-toi de faire disparaître toutes les informations sensibles.
Tu retournes ici l'adresse que tu obtiendras.
Avatar
JP
Bonjour Denis,

Désolé d'avoir tardé.
Voilà je pense avoir fait le ménage dans le fichier.
En première page une consigne pour se retrouver dans ma configuration.

Le lien pour le téléchargement: http://cjoint.com/?3LppEkrzAsy

Merci d'avance

JP
Avatar
MichD
Voici tout le code de ton formulaire "Logos"
Tu remplaces celui existant par celui-ci.

Sur cette ligne de code :
Set Image = Worksheets(Feuille).Pictures.Insert(NomImage)
NomImage est une variable, il faut donc enlever les guillemets
autour de cette expresssion.


Dim Chemin As String
Dim fic As String
Dim NomImage As String

Private Sub ComboBox1_Change()
Me.cadre.Picture = LoadPicture(Chemin & Me.ComboBox1.Value)
'NomImage = Dir(Chemin & Me.ComboBox1.Value)
End Sub
Private Sub UserForm_Initialize()
Chemin = Workbooks(ActiveWorkbook.Name).Path & "logos"
fic = Dir(Chemin & "*.jpg")
Do While fic <> ""
Me.ComboBox1.AddItem fic
fic = Dir
Loop
End Sub


Private Sub Insere_Image_Click()
' variables
Dim Fichier As String, NomFeuille As String
Dim NomImage As String

'Image selectionnee
If Me.ComboBox1.Value <> "" Then
NomImage = Chemin & ComboBox1.Value
Else
MsgBox "Faites votre choix dans la liste proposée."
Exit Sub
End If

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

'étendue de la plage ou l'image doit apparaitre
Plage = "D3:G5"
' Vers sous procédure
InsérerImage NomFeuille, Range(Plage), NomImage

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 + 2
'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
Avatar
JP
Merci beaucoup, je regarde demain pour mettre le code à jour.

JP
1 2 3