Bonjour John,
À l'ouverture d'excel ou à l'ouverture d'un classeur particulier ?
Si tu veux que cela se produise à l'ouverture d'excel, il faudra créer un
modèle (.xlt) au nom de "Classeur.xlt", y inclure les
procédures et placer ce modèle dans le répertoire XlStart.
Ce qui suit pourrait bien avoir été publié en premier par Frédéric
Sigonneau. Je n'ai plus l'auteur. Si ce dernier se reconnaît,
prière de m'envoyer un courriel pour que je compléte mes sources.
'à mettre dans le haut du module standard (API)
Declare Function SearchTreeForFile Lib "IMAGEHLP.DLL" _
(ByVal lpRootPath As String, _
ByVal lpInputName As String, _
ByVal lpOutputName As String) As Long
Public Const MAX_PATH = 260
'----------------------------------
Sub MesAddins()
'Pour pouvoir charger l'addins(Utilitaire d'analyse)peu importe
'si on ajouter des macros complémentaires personnelles
Dim T() As Variant, Trouve As String, No As Integer
'Propriété FullName de l'addins("Utilitaire d'analyse")
Trouve = TrouveFichier("ANALYS32.XLL")
For i = 1 To Application.AddIns.Count
If Application.AddIns(i).FullName = Trouve Then
Application.AddIns(i).Installed = True
Exit For
End If
Next
End Sub
'----------------------------------
'la fonction renvoie le chemin complet et le nom du fichier cherché
'entrer le Nom en paramètre sous la forme nomFichier.extension
Function TrouveFichier(ByVal Nom As String)
Dim fso As Object, Lecteurs As Object, L As Object, S$
Set fso = CreateObject("Scripting.FileSystemObject")
Set Lecteurs = fso.drives
TrouveFichier = ""
'récupère les lecteurs locaux (type 2) et les passe en revue
For Each L In Lecteurs
If L.DriveType = 2 Then
S = L.driveletter & ":"
If FindFile(S, Nom) <> "" Then
TrouveFichier = FindFile(S, Nom)
Exit For
End If
End If
Next L
End Function
'----------------------------------
Public Function FindFile(RootPath As String, FileName As String) As String
'Karl Moore, http://www.vbworld.com/files/tip529.html
'la recherche avec cette API est *très* rapide !!
Dim lNullPos As Long
Dim lResult As Long
Dim sBuffer As String
On Error GoTo FileFind_Error
'fournit par défaut le lecteur courant si non spécifié (fs)
If RootPath = "" Then RootPath = Left$(CurDir, 3)
'Allocate buffer
sBuffer = Space(MAX_PATH * 2)
'Find the file
lResult = SearchTreeForFile(RootPath, FileName, sBuffer)
'Trim null, if exists
If lResult Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos - 1)
End If
'Return filename
FindFile = sBuffer
Else
'Nothing found
FindFile = vbNullString
End If
Exit Function
FileFind_Error:
FindFile = vbNullString
End Function
'----------------------------------
Salutations!
"JohnFuss" a écrit dans le message de news:
dkcs1f$36p$
Bonjour,
j'ai une fonction que je desire lancée dès que toutes les macros
complémentaires sont chargées et pas avant, comment puis-je m'y prendre ?
Merci d'avance.
John.
Bonjour John,
À l'ouverture d'excel ou à l'ouverture d'un classeur particulier ?
Si tu veux que cela se produise à l'ouverture d'excel, il faudra créer un
modèle (.xlt) au nom de "Classeur.xlt", y inclure les
procédures et placer ce modèle dans le répertoire XlStart.
Ce qui suit pourrait bien avoir été publié en premier par Frédéric
Sigonneau. Je n'ai plus l'auteur. Si ce dernier se reconnaît,
prière de m'envoyer un courriel pour que je compléte mes sources.
'à mettre dans le haut du module standard (API)
Declare Function SearchTreeForFile Lib "IMAGEHLP.DLL" _
(ByVal lpRootPath As String, _
ByVal lpInputName As String, _
ByVal lpOutputName As String) As Long
Public Const MAX_PATH = 260
'----------------------------------
Sub MesAddins()
'Pour pouvoir charger l'addins(Utilitaire d'analyse)peu importe
'si on ajouter des macros complémentaires personnelles
Dim T() As Variant, Trouve As String, No As Integer
'Propriété FullName de l'addins("Utilitaire d'analyse")
Trouve = TrouveFichier("ANALYS32.XLL")
For i = 1 To Application.AddIns.Count
If Application.AddIns(i).FullName = Trouve Then
Application.AddIns(i).Installed = True
Exit For
End If
Next
End Sub
'----------------------------------
'la fonction renvoie le chemin complet et le nom du fichier cherché
'entrer le Nom en paramètre sous la forme nomFichier.extension
Function TrouveFichier(ByVal Nom As String)
Dim fso As Object, Lecteurs As Object, L As Object, S$
Set fso = CreateObject("Scripting.FileSystemObject")
Set Lecteurs = fso.drives
TrouveFichier = ""
'récupère les lecteurs locaux (type 2) et les passe en revue
For Each L In Lecteurs
If L.DriveType = 2 Then
S = L.driveletter & ":"
If FindFile(S, Nom) <> "" Then
TrouveFichier = FindFile(S, Nom)
Exit For
End If
End If
Next L
End Function
'----------------------------------
Public Function FindFile(RootPath As String, FileName As String) As String
'Karl Moore, http://www.vbworld.com/files/tip529.html
'la recherche avec cette API est *très* rapide !!
Dim lNullPos As Long
Dim lResult As Long
Dim sBuffer As String
On Error GoTo FileFind_Error
'fournit par défaut le lecteur courant si non spécifié (fs)
If RootPath = "" Then RootPath = Left$(CurDir, 3)
'Allocate buffer
sBuffer = Space(MAX_PATH * 2)
'Find the file
lResult = SearchTreeForFile(RootPath, FileName, sBuffer)
'Trim null, if exists
If lResult Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos - 1)
End If
'Return filename
FindFile = sBuffer
Else
'Nothing found
FindFile = vbNullString
End If
Exit Function
FileFind_Error:
FindFile = vbNullString
End Function
'----------------------------------
Salutations!
"JohnFuss" <john@fuss.fr> a écrit dans le message de news:
dkcs1f$36p$1@s1.news.oleane.net...
Bonjour,
j'ai une fonction que je desire lancée dès que toutes les macros
complémentaires sont chargées et pas avant, comment puis-je m'y prendre ?
Merci d'avance.
John.
Bonjour John,
À l'ouverture d'excel ou à l'ouverture d'un classeur particulier ?
Si tu veux que cela se produise à l'ouverture d'excel, il faudra créer un
modèle (.xlt) au nom de "Classeur.xlt", y inclure les
procédures et placer ce modèle dans le répertoire XlStart.
Ce qui suit pourrait bien avoir été publié en premier par Frédéric
Sigonneau. Je n'ai plus l'auteur. Si ce dernier se reconnaît,
prière de m'envoyer un courriel pour que je compléte mes sources.
'à mettre dans le haut du module standard (API)
Declare Function SearchTreeForFile Lib "IMAGEHLP.DLL" _
(ByVal lpRootPath As String, _
ByVal lpInputName As String, _
ByVal lpOutputName As String) As Long
Public Const MAX_PATH = 260
'----------------------------------
Sub MesAddins()
'Pour pouvoir charger l'addins(Utilitaire d'analyse)peu importe
'si on ajouter des macros complémentaires personnelles
Dim T() As Variant, Trouve As String, No As Integer
'Propriété FullName de l'addins("Utilitaire d'analyse")
Trouve = TrouveFichier("ANALYS32.XLL")
For i = 1 To Application.AddIns.Count
If Application.AddIns(i).FullName = Trouve Then
Application.AddIns(i).Installed = True
Exit For
End If
Next
End Sub
'----------------------------------
'la fonction renvoie le chemin complet et le nom du fichier cherché
'entrer le Nom en paramètre sous la forme nomFichier.extension
Function TrouveFichier(ByVal Nom As String)
Dim fso As Object, Lecteurs As Object, L As Object, S$
Set fso = CreateObject("Scripting.FileSystemObject")
Set Lecteurs = fso.drives
TrouveFichier = ""
'récupère les lecteurs locaux (type 2) et les passe en revue
For Each L In Lecteurs
If L.DriveType = 2 Then
S = L.driveletter & ":"
If FindFile(S, Nom) <> "" Then
TrouveFichier = FindFile(S, Nom)
Exit For
End If
End If
Next L
End Function
'----------------------------------
Public Function FindFile(RootPath As String, FileName As String) As String
'Karl Moore, http://www.vbworld.com/files/tip529.html
'la recherche avec cette API est *très* rapide !!
Dim lNullPos As Long
Dim lResult As Long
Dim sBuffer As String
On Error GoTo FileFind_Error
'fournit par défaut le lecteur courant si non spécifié (fs)
If RootPath = "" Then RootPath = Left$(CurDir, 3)
'Allocate buffer
sBuffer = Space(MAX_PATH * 2)
'Find the file
lResult = SearchTreeForFile(RootPath, FileName, sBuffer)
'Trim null, if exists
If lResult Then
lNullPos = InStr(sBuffer, vbNullChar)
If Not lNullPos Then
sBuffer = Left(sBuffer, lNullPos - 1)
End If
'Return filename
FindFile = sBuffer
Else
'Nothing found
FindFile = vbNullString
End If
Exit Function
FileFind_Error:
FindFile = vbNullString
End Function
'----------------------------------
Salutations!
"JohnFuss" a écrit dans le message de news:
dkcs1f$36p$
Bonjour,
j'ai une fonction que je desire lancée dès que toutes les macros
complémentaires sont chargées et pas avant, comment puis-je m'y prendre ?
Merci d'avance.
John.