VBA windows 7 et 8

micgca

XLDnaute Junior
Bonjour à tous,
dans un module VBA pour l'enregistrement d'un fichier, sous W7, la ligne est la suivante :

"C:\Users\seven\Commun\Comptabilité\Commandes\" & nom & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _

Cependant, un utilisateur sous Windows 8 se retrouve devant un message d'erreur au moment de l'appel de ce module.

Ma question est, peut-on faire en sorte que quelque soit la version de windows utilisée (7 ou 8),
le programme fonctionne ?

Ceci dans le cadre de travail sur NAS et partage sur plusieurs PC en W7 et W8.

Merci à tous pour votre aide.

Michel.
 

Staple1600

XLDnaute Barbatruc
Re : VBA windows 7 et 8

Bonjour à tous, re MJ13


A vue de nez, cela ressemble plus à une différence de version d'Excel et pas de version de Windows.
L'export natif en PDF est apparu à partir d'Excel 2007 (avec pour cette version le téléchargement d'un complément)
 

micgca

XLDnaute Junior
Re : VBA windows 7 et 8

Bonjour,
c'est vrai, c'est une bonne idée, mais dans le cas de différence (et je pense qu'il y en aura) existe il un moyen de rendre le code VBA universel pour W7 et W8 (dans mon cas d’enregistrement de fichier) , sinon, cela veut dire que je devrai installer des programmes différents (fichiers excel) sur les machines - l'idée de travailler sur NAS est que chacun pointe sur la même matrice excel - d'où mon problème.

Et je ne parle pas des excel avant 2010 et 2013 - il me semble que le VBA diffère là aussi encore......
 

micgca

XLDnaute Junior
Re : VBA windows 7 et 8

Bonjour à tous,
et bien je reviens vers vous pour mon problème de VBa entre machine win 7 et win 8.

Et bien ce n'est pas un problème de compatibilité de VBA mais seulement une ligne de commande universelle à utiliser :

Pour ceux que cela intéresse, si vous développez en VBa et que vos utilisatuers n'ont pas les même systèmes win 7 ; win 8 ...etc.
et bien il suffit d'utiliser cette ligne :
"C:\Users\" & Environ$("Username") & "\chemin de destination selon votre programme

ainsi, le programme se fiche de savoir si l'utilisateur est en win 7 ou autre, il utilise l'environnement de l'utilisateur....

C'est facile mais quand tu ne le sais pas.....

Merci à tous et à bientôt.

Michel.
 

Staple1600

XLDnaute Barbatruc
Re : VBA windows 7 et 8

Bonsoir à tous

Merci pour ton retour

Tu peux aussi utiliser ceci
(évidemment il faut que MonDossier existe)
Code:
Sub a()
Dim upPath, MonDossier$, nom$
upPath = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%UserProfile%")
MonDossier = "\toto\tata\"
nom = "test.pdf"
MsgBox upPath & MonDossier & nom
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma