CdXie
Messages postés4Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention22 juillet 2005
-
20 juil. 2005 à 14:32
CdXie
Messages postés4Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention22 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).
vinkaa
Messages postés3Date d'inscriptionmardi 19 août 2003StatutMembreDernière intervention22 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
CdXie
Messages postés4Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention22 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 :