Option Explicit' Fonctions API pour lire et écrire dans les fichier INI
Public Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
Public Function EcrireIni(stFicIni As String, stSection As String, stKey As String, stValeur As String)
' Ecriture d'une valeur dans un fichier INI
' stSection est le la partie designée entre crochets ([option] par exemple)
' stKey est le nom de la clé à récupérer (COULEUR=... par exemple)
' stValeur est la valeur à stocker
Dim FicIni As String, lgRep As Long
FicIni = ThisWorkbook.Path & "\" & stFicIni
' Mise en place du buffer de lecture
lgRep = WritePrivateProfileString(stSection, stKey, stValeur, FicIni)
If lgRep <= 0 Then
' Erreur au niveau du fichier INI
Dim iFile As Integer
iFile = FreeFile
Open FicIni For Output As #iFile
Print #iFile, "[" & stSection & "]"
Print #iFile, stKey & "=" & stValeur
Print #iFile, Chr(10)
Close #iFile
'EcrireIni = "Erreur"
Exit Function
End If
End Function
Public Function LireIni(stFicIni As String, stSection As String, stKey As String)
' Lecture d'une valeur dans un fichier INI
' stSection est le la partie designée entre crochets ([option] 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
FicIni = ThisWorkbook.Path & "\" & stFicIni
' Mise en place du buffer de lecture
stBuf = Space$(255)
lgBuf = 255
lgRep = GetPrivateProfileString(stSection, stKey, "", stBuf, lgBuf, FicIni)
If lgRep <= 0 Then
' Erreur au niveau du fichier INI
'LireIni = "Erreur"
Exit Function
End If
LireIni = Trim$(Left$(stBuf, lgRep))
End Function