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 :

permettre à l'utilisateur de modifier une variable chemin sans accès au code [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 41
    Points
    41
    Par défaut permettre à l'utilisateur de modifier une variable chemin sans accès au code
    bonjour à tous
    je vous sollicite car je n'ai pas réussi a trouver la solution à mon problème/
    afin de faciliter l'implantation de mon fichier sur différents sites je souhaiterais pouvoir donner la possibilité aux utilisateurs de modifier la variable chemin sans qu'il puisse toutefois accéder au code ( par l'intermédiaire d'une box ?)
    quelqu'un peut 'il m'aider à résoudre

    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
     
    Sub initialiser()
    Dim fso As Object, x, y, z As Boolean
    Dim chemin As Variant
    chemin = "N:\documents\"   'c'est ici que devrait s'opérer le choix
    Set fso = CreateObject("Scripting.FileSystemObject")
    x = fso.FileExists(chemin & "Export1.xls")
    y = fso.FileExists(chemin & "Export2.xls")
    z = fso.FileExists(chemin & "Export3.xls")
    If x = False Then MsgBox " Le fichier Export1 n'est pas présent dans " & chemin & Chr(10) & Chr(10) & _
    "Veuillez le rajouter et recommencer la procédure"
    If x = False Then Exit Sub
    If y = False Then MsgBox " Le fichier Export2 n'est pas présent dans " & chemin & Chr(10) & Chr(10) & _
    "Veuillez le rajouter et recommencer la procédure"
    If y = False Then Exit Sub
    If z = False Then MsgBox " Le fichier Export3 n'est pas présent dans " & chemin & Chr(10) & Chr(10) & _
    "Veuillez le rajouter et recommencer la procédure"
    If z = False Then Exit Sub
    merci d'avance pour votre aide

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Chemin As String
     
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        If .SelectedItems.Count > 0 Then Chemin = .SelectedItems(1)
    End With
    If Chemin <> "" Then
        Chemin = Chemin & "\"
        MsgBox Chemin
        'ton code
     
    End If

  3. #3
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, ces chemins sont-ils à conserver de session en session ? si oui, passer par une feuille cachée ou les choix seront conservés ou un fichier "*.ini"

    Voir aide en ligne sur GetOpenFilename

  4. #4
    Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    re bonjour,
    en fait pour mieux préciser je souhaiterais que le choix soit donné lors de l'installation du fichier et qu'ensuite les données soient conservées j'ai bien regardé l'aide mais je suis un peu perdu sinon ta solution Mercatog fonctionne à merveille mais oblige l'utilisateur à recherche le chemin à chaque fois.
    kiki pourrais tu m’aiguiller un peu plus
    @+

  5. #5
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Ajoute une feuille que tu nomme Temp (éventuellement cache la). Dans cette feuille on va écrire notre chemin (avec la possibilité de le changer)

    PS: J'ai utilisé Dir dans la 2ème partie du code, tu peux aussi utiliser ta méthode

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub Initialiser()
    Dim Chemin As String, Msg As String, Rep As String
    Dim Choix As Byte, k As Byte
    Dim Er As Boolean
     
    Rep = Worksheets("Temp").Range("A1")
    Choix = MsgBox("Voulez vous changer le répertoire?", vbYesNo)
     
    'On choisit de changer le répertoire si:
    '1. le chemin n'a pas été sauvegardé dans la feuille Temp
    '2. le répertoire est inexistant
    '3. par choix de l'utilisateur
    If Rep = "" Or Dir(Rep & "*.*") = "" Or Choix = vbYes Then
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Show
            If .SelectedItems.Count > 0 Then Chemin = .SelectedItems(1)
        End With
    End If
     
    If Chemin <> "" Then
        Chemin = Chemin & "\"
        Worksheets("Temp").Range("A1") = Chemin
    Else
        Chemin = Rep
    End If
     
    If Chemin <> "" Then
        Msg = "Le(s) fichier(s) suivant(s) est (sont) absent(s) du répertoire " & Chemin & " :" & vbCrLf
        For k = 1 To 3
            If Dir(Chemin & "Export" & k & ".xls") = "" Then
                Er = True
                Msg = Msg & "    - Export" & k & vbCrLf
            End If
        Next k
     
        Msg = IIf(Er, Msg & "Veuillez le(s) rajouter et recommencer la procédure.", "Tout est ok")
        MsgBox Msg
    End If
    End Sub

  6. #6
    Membre du Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    Milles MERCI Mercatog
    mon problème est résolu .

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

Discussions similaires

  1. [E-03] Permettre a un utilisateur de rentrer une variable ?
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 19/11/2008, 14h53
  2. Réponses: 9
    Dernier message: 03/07/2006, 18h32
  3. Réponses: 4
    Dernier message: 02/06/2006, 22h46
  4. Modifier une variable globale
    Par bahet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 18h04
  5. modifier une variable dans un fichier
    Par Guismay dans le forum Langage
    Réponses: 7
    Dernier message: 11/09/2005, 19h46

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