Bonjour, voilà mon souci !!

J'ai un fichier INI contenant plusieurs parametre que je recupere grace à Getprivate profilestring, j'ai donc une boucle qui me permet de recuperer les parametre les uns apres les autres.
Mon probleme est que lorsque je recupere un parametre il me met des espaces derriere (Je precise que Trim(variable) ne fonctionne pas dans ce cas, je ne sais pas pourquoi ).
Je recupere donc le nb de caractere dans une variable, puis je tronque ma varaiable.

Mon pb est que le 1er coup ca marche mais au coup suivant ma varaiable nb de caractere prend une valeur completement absurde, voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'DECLARATION
    'Fonction lisant une string
'------------------------------
    Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Long

MA FONCTION QUI VA LIRE MA CHAINE DANS LE INI

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
   Function LIRE(ByVal cAppName As String, ByVal cKeyName As String, ByVal cKeyDefault As String, ByRef cKeyValue As String, ByVal cProfName As String) As String
 
 
        Const sLongueur As Short = 255
        Dim NB_CHAR As String
 
        LIRE = GetPrivateProfileString(cAppName, cKeyName, cKeyDefault, cKeyValue, sLongueur, cProfName)
 
        NB_CHAR = LIRE  'me donne le nb de caractere visible de ma chaine
        'test si la chaine n'est pas vide ou inexistante
        If LIRE = 0 Then
 MsgBox("Le fichier INI est manquant ou incomplet ( " + GetCurrentDirectory() + cIniFile + " )", 16, "Lien BDD")
        End
        End If
 
 
        'retourne la valeur de ma chaine
        LIRE = cKeyValue 'ma chaine sur 255 caractere
 
        LIRE = LSet(LIRE, NB_CHAR) ma chaine avec le vrai nb de caractere
 
End function
MA FONCTION QUI RECUPERE LES VALEURS

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    Private Sub connexion_SQL_param()
        Dim CurrentDirectory As String
        CurrentDirectory = GetCurrentDirectory()
        cKey = "serveur"
        reponse = LIRE(cRubrique, cKey, "", cRepertoire, CurrentDirectory & cIniFile)
        serveur_SQL = reponse
 
        cKey = "database"
        reponse = LIRE(cRubrique, cKey, "", cRepertoire, CurrentDirectory & cIniFile)
        database_SQL = reponse
 
        cKey = "user"
 
......
    End sub


Merci pour votre aide