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 :

Chemin bureau suivant Windows [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut Chemin bureau suivant Windows
    Bonjour,
    J'ai un problème avec le chemin du bureau.
    J’envoie un fichier Excel que les personnes me retourne.
    En cliquant sur le bouton "Valider saisie" le formulaire une fois rempli, devrait s'enregistrer sur leur bureau, ce qui n'est pas toujours le cas.
    Il peut y avoir de 1 à 4 saisie avec des enseignements différents.
    Le(s) fichier(s) devrait(ent) s'enregistrer sur le bureau avec le nom figurant en A4 et K4 du formulaire. (Le fichier (formulaire) d'origine devant rester ouvert.)
    Puis ensuite, m'envoyer le(s) fichier(s) ainsi enregistré(s) par mail.
    Beaucoup de personnes ont des DD partitionné avec leur bureau mis sur une de leur partition et des Windows différents (Xp à Win10).
    Cela vient-il de là ?
    Comment déterminer par Vba le chemin de leur bureau et l'utiliser pour enregistrer le fichier sur leur bureau en cliquant sur ce bouton.
    Je vous remercie de bien vouloir corriger mon code.
    Mon formulaire :
    https://www.cjoint.com/c/HJkk4cZJcyQ

    Si je fais une recherche du fichier Everything me donne :
    Nom : 1.JPG
Affichages : 2197
Taille : 33,5 Ko

    Mais quand je regarde dans :
    Nom : 2.JPG
Affichages : 2131
Taille : 11,6 Ko

    Je n'ai rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub SaveAsOnDeskTop()
    Dim ThePath As String
    Dim TheFileToSave As Variant
     
    ThePath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & ActiveWorkbook.Name
     
    'TheFileToSave = Application.GetSaveAsFilename(ThePath, "Microsoft Excel,*.xls")
    ThisWorkbook.SaveCopyAs Chemin & Range("A4").Value & " " & Range("K4").Value & ".xls"
    ActiveWorkbook.SaveCopyAs TheFileToSave
     
    If TheFileToSave = False Then Exit Sub
    End Sub

  2. #2
    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
    re
    normalement dans tou windows confondus
    c'est environ("userprofile")&"\DeskTop"
    ET !!! multipartition ou pas!!!! environ doit te le trouver!!!

    ci ca match pas c'est que le dossier a été déplacé ce dont je doute car il fait parti de l'arborescence windows native et combien meme il aurait pu etre déplacé dans ce cas la c'est perdu aucune fonction logicielle vba ou autre pourrait te donner le chemin car pour deplacer un tel dossier il faudrait reprendre tout droit administratif utilisateur et de ce fait le dossier "bureau" ne ferait plus partie de l'arborescence native de windows
    j'yrais meme jusqu'a dire que windows planterais au demarrage si dossier déplacé car il est solicité au demarrage windows pour l'affichage du bureau lui meme avec le desktop.ini
    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

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour Patrick,
    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs environ("userprofile") &"\DeskTop\ & Range("A4").Value & " " & Range("K4").Value & ".xls"
    Ça marche pas.
    Accepterais-tu de modifier Stp

  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
    il manquait un guillemet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs Environ("userprofile") & "\DeskTop\" & Range("A4").Value & " " & Range("K4").Value & ".xls"
    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
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Bonjour Patrick,
    Je te remercie, il y a cependant un problème
    Une personne me dit que le fichier enregistré ne se met pas sur son bureau dont son chemin est E:\Utilisateurs\Michel\Documents
    Il retrouve le fichier : C:\Users\Michel\Desktop

  6. #6
    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
    re
    je sais pas il a un windows qui viens d'affrique du nord non ?
    j'ai deja vu ca sur des windows pipé il y a longtemps

    qu'importe ou windows a été installé A,B,C,D,E etc.... environ doit te retourner le bon endroit SI ca le fait pas c'est que son windows c'est le boxon et la personne peut rien pour lui mis a part le conseiller de formater et de refaire une installation windows digne de ce nom
    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

  7. #7
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    remplacez .Value par .Text
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs Environ("userprofile") & "\DeskTop\" & Range("A4").Text & " " & Range("K4").Text & ".xls"
    Mais ça c'était avant la modif du post#5 avec son erreur de compilation.

  8. #8
    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
    re
    yperion l'erreur ne se situe pas dans la concatenation du nom mais bien le dossier "lettre:\users\nomutilisateur\DeskTop" qui n'existe pas et que normalement environ ou specialfolder de fso te donne
    c'est donc le boxon dans son 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

  9. #9
    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
    @jean30
    Une personne me dit que le fichier enregistré ne se met pas sur son bureau dont son chemin est E:\Utilisateurs\Michel\Documents
    que boit il au petit dejeuner celui la ???
    ou peut etre son windows vient de plus loin que l'affrique du nord

    premiere nouvelle le dossier bureau dans les documents ou meme l'inverse
    edit:

    et entre parentheses
    quand tu lance le disque d'instalation de windows quel qu'il soit et que tu a 1 ou 36 000 partitions
    a partir du moment ou tu choisi une partition cette partition sera la "C" en fonctionnement
    je parle en connaissance de cause j'ai W10 et W7 qui cohabitent chez moi
    W10 a été instalé sur "D" et W 7 sur la partition "C"
    en fonctionnement les 2 windows sont sur "C"
    autrement dis la lettre change en fonctionnement
    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

  10. #10
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,
    Citation Envoyé par jean30 Voir le message
    Bonjour Patrick,
    Je te remercie, il y a cependant un problème
    Une personne me dit que le fichier enregistré ne se met pas sur son bureau dont son chemin est E:\Utilisateurs\Michel\Documents
    Il retrouve le fichier : C:\Users\Michel\Desktop
    Ne manquerait-il pas un \ dans le code VBA après Desktop et avant le nom de fichier?

  11. #11
    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
    re
    @pijaku
    Une personne me dit que le fichier enregistré ne se met pas sur son bureau dont son chemin est E:\Utilisateurs\Michel\Documents
    heu....??????
    il n'y a pas quelque chose qui te gene la ?
    tu a deja vu ca toi ? regarde la barre d'adresse
    Nom : Capture.JPG
Affichages : 2170
Taille : 42,5 Ko
    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

  12. #12
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Patrick,
    Si, une faute de syntaxe ou d'orthographe ou les deux...

    Voici comment je l'ai comprise cette phrase :

    Une personne me dit que le fichier enregistré ne se met pas sur son bureau mais dans le répertoire E:\Utilisateurs\Michel\Documents sous le nom de fichier : "C:\Users\Michel\DesktopNom.xls".

  13. #13
    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
    re
    peu etre mais il semble persister sur le chemin documents
    apres pour etre honnete je l'ai deja vu ce genre d'abération dans l'arborescence sur un pc cobaie avec un XP pipé en patagonie du nord
    parti de la si c'est le cas on peut rien y faire

    que donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox environ("userprofile") &"\DeskTop"
    si ca donne pas le bon chemin c'est mort
    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

  14. #14
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    re
    yperion l'erreur ne se situe pas dans la concatenation du nom mais bien le dossier "lettre:\users\nomutilisateur\DeskTop" qui n'existe pas et que normalement environ ou specialfolder de fso te donne
    c'est donc le boxon dans son windows
    Salut Patrick
    Le texte dans le post#5 ci-dessous n'était pas celui pour lequel j'ai apporté ma réponse : remplacer .Value par .Text Puisque dans le post d'origine Jean30 évoquait une erreur de compilation.
    Citation Envoyé par jean30 Voir le message
    Bonjour Patrick,
    Je te remercie, il y a cependant un problème
    Une personne me dit que le fichier enregistré ne se met pas sur son bureau dont son chemin est E:\Utilisateurs\Michel\Documents
    Il retrouve le fichier : C:\Users\Michel\Desktop
    Il utilise le shell pour désigner la partition principale, le bureau de la session utilisateur ouverte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Users\Michel\Desktop
    Le code que tu as donné fait bien le job.
    Le hic est que le résultat attendu est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    E:\Utilisateurs\Michel\Documents
    Je pense que Michel a tout simplement déplacé le dossier Documents sur E: pour conserver de l'espace de stockage sur C:
    Et pourquoi pas faire un test ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs Environ("userprofile") & "\MyDocuments\" & Range("A4").Text & " " & Range("K4").Text & ".xls"

  15. #15
    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
    re
    Je pense que Michel a tout simplement déplacé le dossier Documents sur E: pour conserver de l'espace de stockage sur C:
    oui ok pour les documents ca je sais mais le dossier "DeskTop" non tu ne peux pas deplacé c'est un dossier system et il n'a jamais été dans les documents
    bref c'est bizarre son truc
    et combien meme il pourrait etre deplacé en bon et due forme environ devrait le sortir
    imagine si toutes les applications ne pourraient pas le suivre avec leurs constante comme (environ pour excel) ca serait la bérézina
    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

  16. #16
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Par défaut
    Patrick,
    On peut changer l'emplacement des dossiers (Bureau, Documents, Images, Musique, Video, Téléchargements) du Poste de travail depuis Win8
    - clic btn droit sur le dossier concerné, onglet emplacement, Déplacer.

  17. #17
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs Environ("userprofile") & "\DeskTop\" & Range("A4").Text & " " & Range("K4").Text & ".xls"
    Le fichier est bien archivé, mais je souhaiterai qu'il reste sur le bureau (l'écran) pour pouvoir ensuite l'envoyer par mail

    En vous remerciant tous de chercher à me faire aboutir

  18. #18
    Membre éclairé
    Homme Profil pro
    Retraité 72 ans
    Inscrit en
    Mai 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité 72 ans

    Informations forums :
    Inscription : Mai 2011
    Messages : 244
    Par défaut
    Re,
    Merci à vous tous
    Je suis enfin parvenu à ce que je voulais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Btn_ValiderSaisie_Click()
    Dim ThePath As String
    Dim TheFileToSave As Variant
     
        ThePath = CreateObject("WScript.Shell").specialFolders("Desktop") & "\" & ActiveSheet.Range("A4").Value & "_" & ActiveSheet.Range("K4").Value & ".xls"
        ThisWorkbook.SaveCopyAs ThePath
        Workbooks.Open ThePath
        ActiveWorkbook.Close savechanges:=True
    End Sub

  19. #19
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 548
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 548
    Par défaut
    Bonjour à tous

    Tu sembles mélanger des notions : le bureau est un dossier sur le disque dur.

    Le bureau (écran d'accueil de Windows) affiche le contenu de ce dossier sous forme d'icônes.

    Pour envoyer un document par mail, peu import l'endroit où il est archive : il suffit de le préciser dans le code qui réalise le mail...

  20. #20
    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
    re
    oui autant pour moi entre temps j'ai testé avec mon desktop déplacé et efectivement environ ne suit pas
    si jean30 dit qu'avec specialfolder de script.shell ca match je vais le croire sur parole
    2 coup de trique pour moi

    A retenir
    ca veux dire aussi que pour faire du generique ne pas utiliser environ c'est grave ca quand meme !!!
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Verouillage du bureau de Windows XP
    Par Safaritn dans le forum Sécurité
    Réponses: 7
    Dernier message: 04/04/2007, 11h59
  2. Rafraîchissement du bureau de Windows
    Par denitch dans le forum Windows
    Réponses: 2
    Dernier message: 25/09/2006, 20h02
  3. Rafraîchissement du bureau de Windows
    Par denitch dans le forum Windows
    Réponses: 2
    Dernier message: 24/09/2006, 17h27
  4. Réponses: 4
    Dernier message: 08/08/2006, 23h33

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