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

VBA Word Discussion :

[WORD] Souci avec le passage de variable


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [WORD] Souci avec le passage de variable
    Bonjour,

    j'aimerais savoir s'il est possible de passer des variables dans les fonctions de lecture d'un fichier INI.
    En effet, à chaque fois que mon programme lance la fonction LitDansFichierIni() il m'envoi un message d'erreur (Type d'argument ByRef incompatible) alors que mes paramètres sont des valeurs (des strings).
    Que dois-je faire ? Est-ce que les variables (des strings) ne peuvent pas être autorisé dans la fonction GetPrivateProfileString ? Si c'est autorisé quelqu'un pourrait-il m'indiquer comment modifier le code pour accepter le passage de ma variable.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Pour le modifier, il faudrait déjà qu'on le voie, ton code.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Désolé je nétais pas sûr de pouvoir le mettre en entier!!

    Donc à la demande je le mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      chemin = ThisDocument.Path
      fichierINI = chemin & "\Parametre.ini"
      MAJCheck = LitDansFichierIni("variable", "CheckdeMAJ", fichierINI , "True")
    et pour les fonctions de lecture c'est celles normales de lecture d'un fichier INI à savoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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 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
    Encore désolé d'avoir perdu du temps en ayant pas mis le code direct et merci de vos réponses...

  4. #4
    Membre régulier
    Avatar de wape
    Profil pro
    Inscrit en
    Février 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2003
    Messages : 90
    Points : 123
    Points
    123
    Par défaut
    Bonjour,

    Essaye de déclarer explicitement la variable fichierINI :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim fichierINI As String
    Si cette variable n'est pas déclarée, elle sera considérée par défaut comme étant de type "Variant".
    Or la fonction LitDansFichierIni() s'attend à recevoir, comme 3ème paramètre, une variable de type
    "String", d'où l'incompatibilité...


    wape

  5. #5
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Function LitDansFichierIni(Section As String, Cle As String, _
         Fichier As String, Optional ByVal ValeurParDefaut As String = "") As String
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    En effet, c'était bien ça ; je n'aurais jamais pensé à déclarer la variable vu que VB 6 acceptait tous les paramètres et leurs types sans les déclarer!^^

    Merci beaucoup en tout cas car cela fonctionne nickel maintenant.

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

Discussions similaires

  1. Petit souci avec stringstream et contenu variable.
    Par JulienDuSud dans le forum SL & STL
    Réponses: 4
    Dernier message: 23/10/2009, 20h31
  2. [AJAX] coincé avec un passage de variable
    Par infiniti dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/06/2008, 14h51
  3. Réponses: 1
    Dernier message: 29/02/2008, 03h15
  4. Problème avec le passage de variable request.
    Par crocodingo dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 08/03/2007, 14h32
  5. Jsp et balise avec corps => Passage de variable
    Par loic911 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 20/01/2007, 10h37

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