Pb lors de l'acces à 1 cellule excel

Signaler
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
-
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006
-
bonjour,
j'ai des données a exporter dans un fichier excel. j'arrive à l'ouvrir correctement mais j'ai un souci avec mon application lorsque je veux modifier une cellule excel. Le message suivant s'affiche : Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.je travaille avec windows 2000 pro et excel 2000. dans le fichier bin de l'appli il y a 3 dll : Interop.Excel.dll + Interop.Office.dll + Interop.VBIDE.dll
si quelqu'un pouvait m'aider, je n'en puis plus...
voici le code que j'utilise :
public

void SetData(
string sWorkSheet,
string sCell,
string sValue){

try{

xlFeuilles = xlClasseur.Sheets;

xlFeuil1 = (Excel.

_Worksheet)xlFeuilles[sWorkSheet];xlRng1 = xlFeuil1.get_Range(sCell, M);...
merci à vous !

15 réponses

Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

réellement, personne ne connait ? je suis bloquée depuis plusieurs jours dejà, je ne vois vraiment pas quoi faire... si vous aviez une piste, je suis preneuse, vraiment. merci pour votre attention.ciao
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Es-tu sûr que tu as les privilèges suffisant pour apporter des modications au document?
Visiblement, c'est des problèmes de sécurité....

<hr size="2" />VC# forever
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

salut, merci de ton attention.
je debute en c#. sais-tu comment je peux savoir quels sont mes privileges et comment les modifier ?
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Salut,

Je pense que Bidou parle simplement des droits en ecriture sur le fichier. (Lecture seule ?)

Sinon, cherchons de pistes :
Tu parles bien d'une application Winform ?
L'appli est-elle sur le reseau ? Le fichier excel est-il accédé via un reseau ?

Mx
MVP C# 
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

salut,
il s'agit ici d'une appli webform située sur un reseau intranet. Le fichier excel est dans un dossier de l'appli. Quand aux droits en ecriture sur le fichier, je vérifierai des demain matin.
merci a vous  , je retrouve ma motivation...
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
51
Quand on saura tout !
C'est le genre d'informations cruciales à donner (WebForm, Intranet, etc). Sinon on part sur de mauvaise piste...
Bon, je pense que ta question devrait plutôt se trouver sur le site consacré à l'asp, Mx tu déplaces si jamais ;-)

<hr size="2" />VC# forever
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Oui, ca agit comme ca du fait que ce soit de l'asp.net, mais je probleme est plus general, vu qu'il s'agit d'une histoire de permissions.
Donc je pense qu'on peut laisser ici ;)


Voila deja un premier lien qui est une piste, mais qui ne va pas changer le probleme
http://blogs.msdn.com/shawnfa/archive/2003/06/20/57023.aspx

Premiere chose a tenter, donner les autorisations FullTrust sur les trois dll interop pour voir si ca change quelquechose

Mais si ca se trouve, c'est la mauvaise piste...

Autre lien
http://support.microsoft.com/default.aspx?scid=kb;en-us;257757

Pour pouvoir aider plus facilement, je pense qu'il faudrait en savoir un peu plus sur le scenario. (ou se trouve le fichier excel, ...)





Mx
MVP C#
 
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Ah, j'avais pas vu le "Le fichier excel est dans un dossier de l'appli"... :/

Mx
MVP C# 
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

en savoir un peu plus sur le scenar...


il s'agit ici de renseigner des cellules nommées du fichier excel (template qui se trouve dans un repertoire de l'appli). La valeur d'1 cellule correspond a un champ de ma base de données. Une fois le template rempli, une impression est lancée. Le fichier est ensuite fermé, sans sauvegarde. Voilà, j'espere que j'ai ete assez clair
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Bon, alors je viens de tester, mais je n'ai pas reussi a reproduire l'erreur
L'appli asp.net lit et ecrit sans probleme dans mon fichier excel, sans que j'ai eu quoique ce soit a modifier (hormis donner les droit a l'utilisateur ASPNET pour les dll, mais toi tu dois deja l'avoir fait, sinon tu aurais eu des erreurs a la lecture).
La seule erreur que j'ai eu, c'est un souci de fichier deja ouvert, en lecture seule, lorsque j'ai essayé de sauver mes données. (Ce n'est pas un SecurityException qui est levé, mais un ComException, avec le message bien clair m'indiquant la lecture seule)

As-tu essayé de sauvegarder tes données dans un autre fichier que celui d'origine ?

Mx
MVP C# 
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

re,


je viens d'ouvrir l'appli. J'ouvre le fichier excel en lecture seule, c'est pourquoi je ne peux modifier les cellules. quelles manips dois-je effectuer pour l'ouvrir en lecture/écriture ?
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Salut,

Regarde dans les parametres du constructeur de ton WorkBook, il doit y en avoir un qui se nomme "readonly"

Mx
MVP C# 
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

xlClasseur.ReadOnly=




false
;  //pas toléré : Property or indexer 'Excel._Workbook.ReadOnly' cannot be assigned to -- it is read only
le 7eme arg de "xlApp.Workbooks.Open(sFichier, M, M, M, M, M, M, M, M, M, M, M, M)" est object IgnoreReadOnlyRecommended. est-cele que je dois modifier ?
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Je pensais au 3eme parametre, mais ca n'a pas l'air de fonctionner non plus.
Tu as essayé de sauvegarder sous un autre fichier ?

Sinon, un lien utile :
http://www.dotnet-tech.com/tutoriels/rapport-excel/

Mx
MVP C# 
Messages postés
88
Date d'inscription
mardi 3 mai 2005
Statut
Membre
Dernière intervention
17 septembre 2006

la sauvegarde se passe bien (dans mesdocs par defaut). xlClasseur.SaveAs(sNameFichier, M, M, M, M, M, Excel.

XlSaveAsAccessMode.xlShared, M, M, M, M);