Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/09/2011, 19h42   #1
Invité de passage
 
DJJ
Inscription : avril 2010
Messages : 3
Détails du profil
Informations personnelles :
Nom : DJJ

Informations forums :
Inscription : avril 2010
Messages : 3
Points : 0
Points : 0
Par défaut Forcer excel à s'ouvrir en écriture

Bonjour,

Je sais que le sujet a été maintes fois évoqué, et j'ai parcouru tous les forums possibles.
En général, les problèmes d'ouverture de fichier en lecture seule sont souvent liés aux droits sur des répertoire réseaux.
Mon souci est différent. Je distribue mes classeurs par téléchargement sur le net.
Ils s'ouvrent en général correctement, mais parfois certains utilisateurs me signalent que chez eux ils s'ouvrent en lecture seule.
Mes classeurs sont au format Excel 32 bits (2002-2003-2007 ou 2010).
J'ai pu moi-même vérifier personnellement cette incohérence sur 2 PC, qui sont sous Seven. Est-ce que l'OS est en cause.... mystère.
Est-ce un problème de sécurité...je ne sais pas trop.
J'ai pensé un peu trop vite contourner le problème par une commande dans le Workbook_Open, un peu du style :

Code :
ActiveWorkbook.readonly = False
ou
Code :
ActiveWorkbook.write = True
Bien sûr, "ActiveWorkbook.write" n'existe pas, c'est un exemple.
En fait, je n'ai trouvé aucune commande capable de forcer l'ouverture. Ce qui semble d'ailleurs un peu logique, car modifier à l'ouverture des propriétés définies à la fermeture apparaît un peu comme un non-sens. Mais je loupe peut-être quelque chose.

J'en appelle donc aux experts du vba, s'il existe une ligne de code, à moins que le problème soit d'une autre nature.


Merci par avance.
zogug31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 20h36   #2
Membre émérite
 
Avatar de BrunoM45
 
Homme
Assistant de Gestion - Responsable Informatique
Inscription : juillet 2003
Messages : 646
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France, Loiret (Centre)

Informations professionnelles :
Activité : Assistant de Gestion - Responsable Informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juillet 2003
Messages : 646
Points : 848
Points : 848
Bonjour Zogug31

En VBA tu ne pourras absolument rien faire

Le problème, pour moi, vient de Seven et de ses protections

En tout cas c'est ce que j'ai parfois, si je n'enregistre pas le fichier en local

A+
__________________
Vous avez la solution à votre problème, pensez au tag :
est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.

La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses.
BrunoM45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 08h28   #3
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Peut être une piste du coté de SetAttr ?
Code :
1
2
3
 
'mets le classeur à "Normal" (ôte la lecture seule)
SetAttr "D:\Dossier\Classeur1.xls", 0
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/09/2011, 08h33   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par zogug31 Voir le message
B Je distribue mes classeurs par téléchargement sur le net.
....
cela ce passe comment ..? un lien dans une page web ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 09h56   #5
Invité de passage
 
DJJ
Inscription : avril 2010
Messages : 3
Détails du profil
Informations personnelles :
Nom : DJJ

Informations forums :
Inscription : avril 2010
Messages : 3
Points : 0
Points : 0
Citation:
Envoyé par bbil Voir le message
cela ce passe comment ..? un lien dans une page web ?
Oui, exactement

Citation:
Envoyé par Theze Voir le message
Bonjour,

Peut être une piste du coté de SetAttr ?
Code :
1
2
'mets le classeur à "Normal" (ôte la lecture seule)
SetAttr "D:\Dossier\Classeur1.xls", 0
Hervé.
Merci, je vais tester. Mais quelques précisions sur SetAttr. Peut-on remplacer le chemin et le nom de fichier par des variables, voir une variable qui récupèrerait le nom et le fichier complet stockée dans le classeur.
Apparemment oui, car je viens de faire un essai, ça passe, mais je ne peux pas tester pour l'instant sur les PC qui ont le problème.
En tout cas, on peut toujours essayer, on ne sait jamais.
Merci encore.
NB. Il semblerait que SetAttr sert à ouvrir un fichier.
Sur un fichier ouvert, SetAttr devrait en théorie provoquer une erreur, ce que je viens de lire sur un post de Microsoft;;; de 2006.
zogug31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 11h47   #6
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Re,

Je l'ai utilisé pour écrire dans un classeur fermé et en lecture seule et ensuite, j'ai remis en lecture seule (SetAttr "D:\Dossier\Classeur1.xls", 1). Je n'ai pas testé sur un classeur ouvert ou en court d'ouverture. C'est juste une piste que je t'ai donnée, pas forcément la solution.
Il est nécessaire que SetAttr est le chemin complet du classeur mais ça peut être effectivement une variable.

Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2011, 12h01   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Je comprends pas pourquoi le fait d'être en lecture seule, de toutes façon les destinataires ne vont pas modifier le fichier sur ton site ...
Il suffit qu'ils fassent enregistrer-sous ...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/09/2011, 23h08   #8
Invité de passage
 
DJJ
Inscription : avril 2010
Messages : 3
Détails du profil
Informations personnelles :
Nom : DJJ

Informations forums :
Inscription : avril 2010
Messages : 3
Points : 0
Points : 0
Bonjour,
J'avais promis une réponse à mon problème si j'en trouvais la cause. C’est chose faite.
Le coupable était bien Seven (ou Vista) avec le contrôle de l'UAC.
Je m'explique : je distribue mon application Excel via le net, avec un package MSI qui crée répertoire de données, programme,raccourcis, etc..).
Pour vouloir faire les choses trop bien, je plaçais mon application dans le répertoires programmes de Windows.
ERREUR.
Beaucoup d'utilisateurs, sous Seven ou Vista laissent l'UAC activé par défaut (un vraie nuisance cet UAC).
Résultat. Seven laisse le produit s’installer sans rien dire mais le classeur s'ouvre en Lecture seule.
Faites le test avec un simple classeur/macros collé dans Program(x86), vous verrez.
Une des solutions consistait en un certificat numérique public (hors de prix et à renouveler).
J'ai donc stocké mon ficher ailleurs, c'était plus simple et gratuit.

Merci pour votre aide qui m'a fait avancer.
zogug31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 15h08   #9
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 668
Points : 7 668
Citation:
Envoyé par zogug31 Voir le message
Beaucoup d'utilisateurs, sous Seven ou Vista laissent l'UAC activé par défaut
Encore heureux...
Si tout le monde le désactivait, on se demanderait pourquoi il a été développé.

Citation:
Envoyé par zogug31 Voir le message
(un vraie nuisance cet UAC)
Ce n'est pas parce qu'un produit change nos habitudes de travailler qu'il est mauvais.
Je pense plutôt que c'est aux développeurs de s'adapter à ce nouvel environnement.
__________________
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!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 40
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h40.


 
 
 
 
Partenaires

Hébergement Web