[VBA-E]Modifier un fichier Ini
Bonjour,
c'est encore moi :mrgreen:
J'ai quelques petits soucis avec les fichiers ini :?
J'ai récupéré ces fonctions sur la FAQ :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 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 Function EcritDansFichierIni(Section As String, Cle As String, Valeur As String, Fichier As String) As Long
EcritDansFichierIni = WritePrivateProfileString(Section, Cle, Valeur, Fichier)
End Function
Private Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, Optional ValeurParDefaut As String = "") As String
Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)
End Function |
QUi permettent de lire un fichier Ini, ou d'écrire dans un fichier ini :)
Donc j'ai testé mais j'ai un petit soucis : sur une valeur je veux pas vraiment écrire dans le fichier ini, mais je veux juste modifier une valeur :?
Voila la fonction que j'utilise (en gros) :
Code:
1 2 3 4 5
| Private Sub CmdValid_Click()
If LblValeur.Caption <> TxtValeur.Value Then
EcritDansFichierIni "Devise", LstNomDevise.ListIndex, TxtValeur.Value, "DTemp\devise.ini"
End If
End Sub |
En fait, j'ai une listbox ou je clique pour choisir la devise, qui met la valeur (présente dans le fichier ini) dans la textbox et le label :)
Si jamais on modifie la valeur de la textbox, cela veux dire qu'on change la valeur de la devise du coup je voudrais la modifier AUSSI dans mon fichier ini :)
Or quand je fais ce qu eje fais au dessus, ça me rajoute une ligne avec la valeur que j'ai rentré, or je veux pas rajouter une ligne, mais juste modifier :)
Quelqu'un sait comment faire ? on peut utiliser une de ces fonctions ou il faut qu eje fasse autrement ?
Merci beaucoup pour votre aide :)