Si tu ne t'en sors pas, colle ceci dans un module nommé fichierINI :
Private 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
Private 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
Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias _
"WritePrivateProfileSectionA" ( _
ByVal lpAppName As String, _
ByVal lpString As Any, _
ByVal lpFileName As String) As Long
'Fonction pour lire une valeur dans un fichier INI
Function INIRead(Entete As String, Variable As String, Optional Fichier As String) As String Fichier IIf(Fichier "", App.PATH & "" & App.EXEName & ".ini", Fichier)
INIRead = String(255, Chr(0))
INIRead = Left$(INIRead, GetPrivateProfileString(Entete, ByVal Variable, "", INIRead, Len(INIRead), Fichier))
End Function
'Fonction pour écrire une valeur dans un fichier INI
'La section spécifiée est créée automatiquement si elle n'existe pas déjà
Function INIWrite(Entete As String, Variable As String, Valeur As String, Optional Fichier As String) As String Fichier IIf(Fichier "", App.PATH & "" & App.EXEName & ".ini", Fichier)
EcrireINI = WritePrivateProfileString(Entete, Variable, Valeur, Fichier)
End Function
'Fonction pour supprimer une valeur dans un fichier INI
Function INIDelete(Entete As String, Variable As String, Optional Fichier As String) As String Fichier IIf(Fichier "", App.PATH & "" & App.EXEName & ".ini", Fichier)
SupprINI = WritePrivateProfileString(Entete, Variable, 0&, Fichier)
End Function
'Fonction pour supprimer une section dans un fichier INI
Function INIDeleteSection(Entete As String, Optional Fichier As String) As String Fichier IIf(Fichier "", App.PATH & "" & App.EXEName & ".ini", Fichier)
SupprSectionINI = WritePrivateProfileSection(Entete, 0&, Fichier)
End Function
et tu t'en sers comme ceci :
Dim retour as String
fichierINI.INIWrite "Entete","Valeur","ma_valeur","C:\toto.ini"
retour = fichierINI.INIRead "Entete","Valeur","C:\toto.ini"
retour vaut alors "ma_valeur"
...
Manu