IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]Modifier un fichier Ini


Sujet :

Macros et VBA Excel

  1. #1
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut [VBA-E]Modifier un fichier Ini
    Bonjour,

    c'est encore moi

    J'ai quelques petits soucis avec les fichiers ini

    J'ai récupéré ces fonctions sur la FAQ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    non cela fonctionne comme cela... ecrit... modifie le fichier ini , est tu sur de la valeur des paramétres section et clef...? que ce passe t'il si tu fais plusieurs écritures, as tu une ligne de plus par écriture..?

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Citation Envoyé par bbil
    non cela fonctionne comme cela... ecrit... modifie le fichier ini , est tu sur de la valeur des paramétres section et clef...? que ce passe t'il si tu fais plusieurs écritures, as tu une ligne de plus par écriture..?

    Comprend pas ta première question
    Oui je suis sur des paramètres

    Si je fais plusieurs écritures, ça me les rajoute à la suite du fichier (à la fin)
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Heuu honte a moi en fait ça a marché tu avais raison Bbil je m'étais trompé

    Au lieu de ça :

    Qui est en fait le numéro de l'index, moi je voulais la valeur, du coup j'ai mis ça :

    et ça marche nickel c'est moi qu'a fait le boulet

    Merci les gars en tout cas
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. modifier un fichier .ini avec vbs
    Par alex61 dans le forum VBScript
    Réponses: 5
    Dernier message: 11/01/2011, 14h23
  2. [innoSetup] Modifier un fichier .ini
    Par YanDerS dans le forum Outils
    Réponses: 16
    Dernier message: 22/11/2010, 09h21
  3. Rechercher et modifier un fichier INI
    Par tofju dans le forum VBScript
    Réponses: 15
    Dernier message: 09/07/2009, 16h57
  4. [VBA-E] modifier un fichier texte avant import
    Par hka75 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/04/2007, 21h13
  5. VBA -> VB, modifier un fichier Word
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/07/2006, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo