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 :

Changer le nom d'utilisateur dans le chemin de fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Par défaut Changer le nom d'utilisateur dans le chemin de fichier
    Bonjour,

    J'ai un fichier excel avec un userform par lequel j'enregistre des données dont la photo de l'adhérent. Lorsque j'enregistre le chemin du fichier de la photo, il enregistre bien C:\Users\mon_nom\Desktop\Nouveau dossier\nomdelaphoto.JPG dans la colonne prévue à cet effet. Tout fonctionne très bien sur mon PC mais bien sûr, lorsque je mets le fichier sur un autre PC, ça ne fonctionne pas puisqu'il ne trouve pas la photo.
    y a-t-il une solution simple pour enregistrer un chemin de fichier "standard" ou pour changer le chemin de fichier à l'ouverture d'Excel?


    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour !

    L'idéal est de placer le dossier des photos dans le dossier contenant le classeur (ThisWorkbook.Path) …

    Et si c'est sur un réseau, suffit de le placer dans un chemin commun à tous !

    Edit : j'avais lu un peu vite, tu peux récupérer le chemin via Environ("USERPROFILE") par exemple …


    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

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

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2012
    Messages : 3
    Par défaut
    Bonjour,

    on m'a proposé cette solution qui marche, si ça peut intéresser quelqu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    j = 1
               Do Until IsEmpty(rg.Offset(0, j + 1))
     
                  'Ajouter un sous-élément en spécifiant la valeur seulement
     
                 .ListItems(i).ListSubItems.Add , , rg.Offset(i, j)
                 j = j + 1
             Loop
            .ListItems(i).ListSubItems.Add , , "C:\Users\" & Application.UserName & "\DeskTop\Nouveau dossier\" & rg.Offset(i, 2) & rg.Offset(i, 3) & ".jpg"
     
             i = i + 1
          Loop
    Merci beaucoup de vous être penché sur mon problème

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    a ta place j'utiliserais environ("username") car le user de l'application n'est pas forcement le user de la session windows
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Laly, ta solution est effectivement la moins fiable car je rencontre souvent le cas décrit par Patrick !

    En dehors d'Environ("USERPROFILE") révélant le chemin du répertoire utilisateur de la session,

    si comme sur certains ordinateurs de mon côté le bureau est délocalisé sur un autre disque que celui de la session,

    mieux vaut en passer par un ActiveX, exemple : MsgBox CreateObject("WScript.Shell").SpecialFolders("Desktop")

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

Discussions similaires

  1. [XL-2010] Reprendre le nom d'utilisateur dans un chemin
    Par formabox dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2015, 15h20
  2. changer de nom d'utilisateur par Formulaire
    Par db48752b dans le forum Sécurité
    Réponses: 1
    Dernier message: 11/09/2006, 13h15
  3. [Oracle 10g]Changer le nom d'utilisateur
    Par Zelltemplar dans le forum Oracle
    Réponses: 5
    Dernier message: 09/02/2006, 14h59
  4. Changer les noms de colonnes dans un formulaire
    Par cakeby dans le forum Access
    Réponses: 1
    Dernier message: 06/01/2006, 21h32

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