Bonjour,
voici le code que j'utilise pour lire un fichier .ini (qui marche très bien):
Le seul inconvénient c'est que dans le morceau de code suivant:
Je suppose que le fichier .ini est d'une part dans le même dossier que le fichier Excel (qui va lire ce fichier) et d'autre part qu'il s’appelle forcément "paramètres".
Ce sont ces 2 éléments que j'aimerais automatisés un peu mieux pour ne pas avoir forcément le fichier .ini dans le même dossier que le fichier Excel (il se peut qu'un utilisateur change de destination le fichier Excel ou le fichier .ini sans le faire exprès ce qui faussera le code) et d'autre part un utilisateur peut changer le nom du fichier .ini ce qui posera également problème pour l'exécution du code..
Quelqu'un aurait des idées pour me permettre d'améliorer ces 2 points ?
Merci d'avance
voici le code que j'utilise pour lire un fichier .ini (qui marche très bien):
Code:
Public Function LireIni(stSection As String, stKey As String)
' Lecture d'une valeur dans un fichier INI
' stSection est le la partie designée entre crochets ([DATABASE] par exemple)
' stKey est le nom de la clé à récupérer (COULEUR=... par exemple)
Dim stBuf As String, FicIni As String, lgBuf As Long, lgRep As Long
Dim chemin As String
'On cherche le chemin où est enregistré le fichier Excel.
chemin = Workbooks(ActiveWorkbook.name).FullName
chemin = Workbooks(ActiveWorkbook.name).Path
'On suppose que le fichier .ini est enregsitré dans le même dossier que le fichier Excel.
FicIni = chemin & "\parametres.ini"
' Mise en place du buffer de lecture
stBuf = Space$(255)
lgBuf = 255
lgRep = GetPrivateProfileString(stSection, stKey, "", stBuf, lgBuf, FicIni)
'Si il y a une absence de paramètres dans le fichier ini:
If lgRep <= 0 Then
' Erreur au niveau du fichier INI
LireIni = "Please inform this range"
Exit Function
End If
LireIni = Trim$(Left$(stBuf, lgRep))
End Function
Le seul inconvénient c'est que dans le morceau de code suivant:
Code:
'On cherche le chemin où est enregistré le fichier Excel.
chemin = Workbooks(ActiveWorkbook.name).FullName
chemin = Workbooks(ActiveWorkbook.name).Path
'On suppose que le fichier .ini est enregsitré dans le même dossier que le fichier Excel.
FicIni = chemin & "\parametres.ini"
Je suppose que le fichier .ini est d'une part dans le même dossier que le fichier Excel (qui va lire ce fichier) et d'autre part qu'il s’appelle forcément "paramètres".
Ce sont ces 2 éléments que j'aimerais automatisés un peu mieux pour ne pas avoir forcément le fichier .ini dans le même dossier que le fichier Excel (il se peut qu'un utilisateur change de destination le fichier Excel ou le fichier .ini sans le faire exprès ce qui faussera le code) et d'autre part un utilisateur peut changer le nom du fichier .ini ce qui posera également problème pour l'exécution du code..
Quelqu'un aurait des idées pour me permettre d'améliorer ces 2 points ?
Merci d'avance