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] affectation d'une valeur a une variable


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [VBA-E] affectation d'une valeur a une variable
    Bonjour,
    je suis actuellemnt en train de developpez une application se servant d'excel comme IHM et j'ai une petite question qui me bloque:

    mon application charge des fichiers dont le chemin d'acces est défini en "DUR" a l'intérieur du code comme ceci
    dim path as string
    path="C:\...."

    c qui est bien sur tres bof étant donné que les fichiers auront de fortes chances d'être déplacés.
    g mis en place une boite de dialogue "parcourir" pour pouvoir cherche le fichier au cas ou.

    Ma question est donc:
    est-il possible de modifier la valeur d'une variable a l'interieur du code et que cette variable conserve la valeur meme apres fermeture et réouverture? ou y a t-il d'autres moyens (si vous avez bien compris ce que je voulais faire)?


    merci.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Oui, tu peux faire ça. Je te donne un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub RemplacerLigne()
        msg = InputBox("Entrer le nouveau répertoire avec son chemin complet :" & Chr(13) & "(pour connaître le chemin, utiliser l'Explorateur Windows" & Chr(13) & "Ex : " & "d:\agir\applications\microsoft office\clipart\", "NOUVEAU RÉPERTOIRE", chemin)
        If Not Trim(msg) <> "" Then Exit Sub
        If Not Right(Trim(msg), 1) = "\" Then msg = msg + "\"
        If MsgBox("SOUHAITEZ-VOUS RÉELLEMENT VOUS PLACER DANS LE RÉPERTOIRE " & Chr(13) & "                 " & UCase(msg) & " ? ", 33, "CHANGEMENT DE RÉPERTOIRE") <> vbOK Then Exit Sub
        chemin = msg
        msg = "    Chemin = " + """" + msg + """"
        Application.VBE.CodePanes(2).CodeModule.ReplaceLine 25, msg
    End Sub
    Remplace le texte placé ligne 25 dans cet exemple

    Dans la macro "appelante", prends la précaution de signaler ça :

    ' ****************** IMPORTANT **********************
    'Ne pas déplacer cette macro ni les macros précédentes
    'S'il est IMPERATIF de déplacer l'une d'elle,
    '********** CONSERVER LE MÊME NOMBRE DE LIGNES AVANT Sub aperçu() ********
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        loup = False
        chemin = "d:\clipart\"
        '               Chemin = ... DOIT RESTER A LA LIGNE 25
    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    top merci..
    a bientot

  4. #4
    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
    Il est quand même plus simple de passer par la registry pour ce genre de paramètres.
    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!

  5. #5
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Je suis assez d'accord avec toi, AlainTech.
    Ou par un gentil petit fichier texte...

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ok, c'est bien, mais si on transporte l'appli, il faut penser au .txt, sinon, tester sa présence et le créer s'il n'existe pas.
    Quant à moi...

    A+

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. Réponses: 15
    Dernier message: 26/01/2015, 19h37
  3. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 10h21
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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