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

Ouvrir insertion image à partir du fichier par macro sur un chemin specifique

7 réponses
Avatar
Actarus
Bonjour à tous, je souhaite créer une macro sur un bouton de commande qui me
permettrait d'utiliser la commande Insertion/Image/A partir du fichier en
ouvrant la boite de dialogue sur un chemin bien précis (et qui est donc
amené à changer !) que je sais définir grace à des infos contenues dans mes
cellules. Quelle est la ligne de code me permettant de le faire ? je veux
juste ouvrir la boite de dialogue sur
C:\mondossier\monsousdossier\(monsousousdossier eventuellement, voire plus
de niveau) pour que les utilisateurs puissent choisir alors l'image à
rapatrier dans ma feuille excel, je ne veux pas sélectionner directement une
image par macro. Merci pour vos suggestions.

7 réponses

Avatar
JB
Bonjour,

Sub choisir_fichier()
nf = Application.GetOpenFilename("Fichiers jpg,*.jpg")
If Not nf = False Then
Set monimage = ActiveSheet.Pictures.Insert(nf)
End If
End Sub

JB



On 12 fév, 10:50, "Actarus" wrote:
Bonjour à tous, je souhaite créer une macro sur un bouton de commande qui me
permettrait d'utiliser la commande Insertion/Image/A partir du fichier en
ouvrant la boite de dialogue sur un chemin bien précis (et qui est donc
amené à changer !) que je sais définir grace à des infos contenues dans mes
cellules. Quelle est la ligne de code me permettant de le faire ? je veux
juste ouvrir la boite de dialogue sur
C:mondossiermonsousdossier(monsousousdossier eventuellement, voire plus
de niveau) pour que les utilisateurs puissent choisir alors l'image à
rapatrier dans ma feuille excel, je ne veux pas sélectionner directement une
image par macro. Merci pour vos suggestions.


Avatar
Actarus
Merci mais cela répond pas précisememnt à mon pb car cela me permet d'ouvrir
une boite de dialogue pour choisir un fichier jpg et il se positionne alors
sur le dossier "mes documents" moi je veux me positionner sur un chemin bien
précis et ouvrir tous les fichiers images (qui ne possèdent pas l'extension
jpg d'ailleurs, il me faut dans type de fichier Toutes les images). Aurais
tu une autre solution ? Merci
Avatar
francois.forcet
On 12 fév, 11:25, "Actarus" wrote:
Merci mais cela répond pas précisememnt à mon pb car cela me permet d'ouvrir
une boite de dialogue pour choisir un fichier jpg et il se positionne alor s
sur le dossier "mes documents" moi je veux me positionner sur un chemin bi en
précis et ouvrir tous les fichiers images (qui ne possèdent pas l'exte nsion
jpg d'ailleurs, il me faut dans type de fichier Toutes les images). Aurais
tu une autre solution ? Merci


Salut actarus

En droite ligne de ce que t'a proposé JB son code modifié ainsi :

ChDrive "C"
ChDir ("C:Chemin")
nf = Application.GetOpenFilename("Image,*.*")
If Not nf = False Then
Set monimage = ActiveSheet.Pictures.Insert(nf)
End If

celà devrait te convenir

Dis moi

Avatar
francois.forcet
On 12 fév, 11:25, "Actarus" wrote:
Merci mais cela répond pas précisememnt à mon pb car cela me permet d'ouvrir
une boite de dialogue pour choisir un fichier jpg et il se positionne alor s
sur le dossier "mes documents" moi je veux me positionner sur un chemin bi en
précis et ouvrir tous les fichiers images (qui ne possèdent pas l'exte nsion
jpg d'ailleurs, il me faut dans type de fichier Toutes les images). Aurais
tu une autre solution ? Merci


Rebonjour à toi
Cette variante faisant appel à la valeur de la cellule A1 portant le
chemin du répertoire :

ChDrive "C"
ChDir (Range("A1"))
nf = Application.GetOpenFilename("Image,*.*")
If Not nf = False Then
Set monimage = ActiveSheet.Pictures.Insert(nf)
End If
Attention le lecteur dans ChDir et ChDrive doit être le même

Peut être mieux !!!!

Avatar
Actarus
Ok merci cela me convient parfaitement. Je voudrais en profiter pour te
demander un conseil. Quand j'utilise le chdir est ce que je dois faire un
chdir pour chaque niveau de repertoire (nomordinateur dépend de l'endroit ou
je me trouve)
ChDir nomordinateur & Cells(4, 13).Value
ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value
ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value & "" & Cells(1, 13).Value & "-" & Cells(2,
13).Value & "" & Cells(6, 13).Value
ou est ce que je peux passer directement à la dernière ligne :
ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value & "" & Cells(1, 13).Value & "-" & Cells(2,
13).Value & "" & Cells(6, 13).Value
Merci.
Avatar
francois.forcet
On 12 fév, 12:07, "Actarus" wrote:
Ok merci cela me convient parfaitement. Je voudrais en profiter pour te
demander un conseil. Quand j'utilise le chdir est ce que je dois faire un
chdir pour chaque niveau de repertoire (nomordinateur dépend de l'endroi t ou
je me trouve)
        ChDir nomordinateur & Cells(4, 13).Value
        ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
        ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value
        ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value & "" & Cells(1, 13).Value & "-" & Cells(2,
13).Value & "" & Cells(6, 13).Value
 ou est ce que je peux passer directement à la dernière ligne :
        ChDir nomordinateur & Cells(4, 13).Value & "" & Cells(5, 13).Value
& "" & Cells(1, 13).Value & "" & Cells(1, 13).Value & "-" & Cells(2,
13).Value & "" & Cells(6, 13).Value
Merci.


Rebonjours à toi

Tu peux faire le ChDir que tu veux
Le seul impact de ton choix c'est le positionnement de la boîte de
dialogue pour aller chercher ton fichier
Exemple :

Un fichier image ayant pour chemin :

C:DossierSous DossierSous Sous DossierMon image

Si je mets :

ChDir : C:DossierSous DossierSous Sous Dossier

Ma boîte de dialogue souvrira directement dans Sous Sous Dossier et je
n'aurais plus qu'à cliquer sur Mon image

Si je mets :

C:DossierSous Dossier

Ma boîte de dialogue souvrira directement dans Sous Dossier et il
faudra que je termine à la main la selection de Sous Sous Dossier et
de cliquer ensuite sur Mon image

Si je mets :

C:DossierSous DossierSous Sous DossierSous Sous Sous Dossier

Ma boîte de dialogue s'ouvrira directement dans Sous Sous Sous Dossier
et je devrait remonter dans Sous Sous Dossier pour cliquer ensuite sur
Mon image

En résumé l'ampleur de la selection manuelle à partir de la boîte de
dialogue est conditionnée par son prépositionnement déterminé par le
ChDir

N'importe quel paramétrage du ChDir fonctionnera dans la mesure où son
chemin existe

Il peut à l'interieur d'un code être modifié pour changer la position
d'une 2°, 3° etc... boîte de dialogue
Espérant avoir répondu à ton interrogation

Dis moi !!!!

Avatar
Actarus
Merci beaucoup pour toute ton aide, je devrais pouvoir m'en sortir !