[Déplacé encore de .Net --> VBA] Chemin d'une image a partir d'un dossier et pas
spikevba
Messages postés5Date d'inscriptionlundi 29 mars 2010StatutMembreDernière intervention 4 mai 2010
-
3 mai 2010 à 19:30
spikevba
Messages postés5Date d'inscriptionlundi 29 mars 2010StatutMembreDernière intervention 4 mai 2010
-
4 mai 2010 à 22:11
Bonjour,
Je cherche comment donner une chemin a une fonction VBA a partir d'un dossier.Le but est de pouvoir mettre mon fichier excel sur clef USB et que ma macro recherche son image "quizz.gif" dans le dossier Mes image et pas a partir de son emplacement sur un disque dur
Voici mon code a partir du disque dur et j'aimerai obtenir le même résultat mais uniquement a partir du dossier Mes image.
Sub image()
ActiveSheet.Pictures.Insert("D:\Mes documents\Mes images\quizz.gif").Select
End Sub
J'espère être clair dans ma formulation, j'ai déjà fait des recherches sur le site et je n'ai rien trouvé (ou j'ai peut être mal cherché)
A voir également:
[Déplacé encore de .Net --> VBA] Chemin d'une image a partir d'un dossier et pas
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 3 mai 2010 à 21:03
Salut
"mettre mon fichier excel sur clef USB"
et
"pas a partir de son emplacement sur un disque dur"
Tu veux dire "de son emplacement sur la clé" ?
Quel est ton souci ?
La syntaxe que tu as copiée ici n'est pas correcte ?
Si tu veux simplement passer un paramètre à ta Sub Image (*) :
Sub image(leChemin As String)
ActiveSheet.Pictures.Insert(leChemin & "\quizz.gif").Select
End Sub
et pour l'appeler
Call image("D:\Mes documents\Mes images")
Sinon, pour récupérer dynamiquement le chemin des dossiers spéciaux :
(à mettre dans un module)
Public Declare Function SHGetSpecialFolderPath Lib "shell32.dll" _
Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, _
ByVal nFolder As Long, ByVal fCreate As Long) As Long
Public Function SDossier(NoDossier As Long) As String
Dim buff As String
buff = Space(260)
SHGetSpecialFolderPath ByVal 0&, buff, NoDossier, ByVal 0&
SDossier = Left(buff, InStr(1, buff, Chr(0)) - 1)
End Function
Extrait modifié de <cette source> trouvée en cherchant "répertoire spéciaux"
(*) TRES mauvaise idée d'appeler une procédure avec un mot réservé du système - tu pourrais avoir des surprises un jour
Vala
Jack, =fr MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
spikevba
Messages postés5Date d'inscriptionlundi 29 mars 2010StatutMembreDernière intervention 4 mai 2010 4 mai 2010 à 22:11
Bonjour,
Merci Jack pour ta réponse, mais je ne suis qu'un modeste débutant en vba.
En fait ce que je cherche a faire c'est trouver la syntaxe qui me permettra d'aller chercher une image en faisant référence uniquement au même dossier que mon fichier excel.
Le but est de pouvoir transporter le tout (fichier excel et images) sur une clef USB. Et suivant le PC dans lequel je l'insère elle aura un nom différent F: ou G: par exemple.
Il doit bien y avoir une syntaxe simple qui permet de faire cela en vba.