Répertoire d'une macro

CdXie Messages postés 4 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 22 juillet 2005 - 20 juil. 2005 à 14:32
CdXie Messages postés 4 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 22 juillet 2005 - 21 juil. 2005 à 10:04
Bonjour,

Je cherche, sous Excel, à récupérer le nom du répertoire contenant la
macro en cours d'exécution pour pouvoir utiliser les fichiers associés
à la macro quelque soit le répertoire sélectionné pour l'installation
de la macro.

La commande CutDir ne convient pas puisqu'elle tient compte uniquement
de la localisation du fichier .xls ouvert (donc pas celui contenant ma
macro).



Avez-vous une idée ???



Merci d'avance.



CdXie

2 réponses

vinkaa Messages postés 3 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 22 juillet 2005
21 juil. 2005 à 01:52
Bonjour,

La fonction ci-dessous doit pouvoir te dépanner.

La constante strProjectName contient le nom du projet VBA contenant la macro.
Le nom du projet correspondant à la propriété accessible depuis l'IDE VBA via le menu
Outils/Propriété de, puis l'onglet Général.

La Référence (Type Library) Microsoft Visual Basic for Applications Extensibility 5.3 doit être disponible pour le projet.

Public Function ProjectFolderName() As String
On Error GoTo Err_Label
Const strProjectName As String = "??????"
Dim strFullName, lngPos As Long


strFullName = Application.VBE.VBProjects.Item(strProjectName).FileName
lngPos = InStrRev(strFullName, "", -1, vbTextCompare)
If lngPos > 0 Then ProjectFolderName = Left$(strFullName, lngPos)


Exit_Label:
Exit Function


Err_Label:
ProjectFolderName = ""
Resume Exit_Label
End Function

Vinkaa...
0
CdXie Messages postés 4 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 22 juillet 2005
21 juil. 2005 à 10:04
Bonjour,

Merci Vinkaa pour ta réponse.

J'ai ajouté la référence Microsoft Visual Basic for Applications
Extensibility 5.3, j'ai rebooté mon PC, j'ai bien récupéré le nom de ma
macro via le menu

Outils/Propriété (pour éviter toute erreur de syntaxe ou de frappe), j'ai mis ton code dans un module créé spécifiquement.

Mais lorsque j'exécute le code j'ai le message suivant :



Run time error '424'

Object required



As-tu une idée de l'origine du problème ?



Merci d'avance.



CdXie
0