PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Windev 28 - Excel protégé dans un champ Tableur
Windev 28 - Excel protégé dans un champ Tableur
Débuté par Decoux Michael, 29 nov. 2024 10:34 - 2 réponses
Membre enregistré
1 message
Posté le 29 novembre 2024 - 10:34
Bonjour la communauté,

Je suis un peu embêté, j'ai créé une fenêtre windev contenant un champ Tableur, j'ouvre un fichier excel dans ce champ Tableur. jusque là tout va bien, mon fichier s'affiche bien. Maintenant, je protège certaines cellules et je verrouille avec un mot de passe la feuille contenant les cellules. Dans l'application Excel, j'arrive à accéder au cellule non verrouillée, mais dans ma fenêtre windev contenant le champ tableur avec ce fichier ouvert, j'ai un message m'empêchant d'accéder au cellule non protégée.

Pouvez-vous me dire si ce comportement est normal, car les fichiers excel chargés dans le champ tableur sont verrouillé car je ne veux pas que l'utilisateur de mon application change certaine cellule et ne laisser l'accès qu'a certaine cellule a l'utilisateur.

Bonne journée.
Decoux Michael
Développeur Windev
Membre enregistré
4 176 messages
Posté le 29 novembre 2024 - 11:32
Bonjour,
C'est un comportement normal..
Après l'ouverture du classeur, tu dois verrouiller toi même les cellules (<nomcolonne>[indiceLigne]..Etat = AffichageSeulement peut être,) ou alors tout verrouiller et ne déverrouiller que les cellules "utiles".

--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Membre enregistré
139 messages
Posté le 29 novembre 2024 - 15:31
Bonjour

Je vois votre demande, vous voulez savoir si c'est normal s'il y a un bug dans l'application, je vais vous expliquer plus claire, comme dans tous les règles d'entrer dans un dossier verrouillé, il faudrait avoir le mot de passe pour l'accès, j'ai deux solutions pour vous

1. Soit vous devrez mettre dans un nouveau fichier Office Excel pour les feuilles verrouillées ce que vous ne devrez pas faire
2. Soit vous devrez ajouter un nouveau logiciel, voilà ce que vous devrez faire :
- Ajouter une nouvelle fenêtre de paramétrage qui récupère tous les feuilles non verrouillée
- Ajouter une nouvelle fenêtre qui affiche toutes les informations pour vérification, c'est toujours obligatoire pour des raisons de sécurité
- Sauvegarder toutes les informations vers un nouveau dossier Office Excel
- Lorsque vous importez les informations dans l'Office Excel alors ce sera la nouvelle dont vous récupérer

Dans le cas 2, vous ne changez pas un seul code de votre application

Voilà une piste dont vous pouvez coder :

LOCAL
sExcel is string
xlsDocument is xlsDocument
IF fFichierExiste(sExcel) = False THEN // EDD (11/24) : Vérification de dossier Office Excel s'il existe vraiment
Info("Merci de vérifier le fichier Excel '" + sExcel + "' s'il vous plaît.")
ELSE
xlsDocument = xlsOuvre(sExcel, xlsEcriture) // EDD (11/24) : Ouverture de dossier Office Excel
IF ErreurDétectée = True THEN // EDD (11/24) : Gestion des erreurs
Info(ErreurInfo(errComplet))
FinProgramme()
END
FOR i = 1 _TO_ xlsNbFeuille(xlsDocument) // EDD (11/24) : Lecture des informations dans le dossier Office Excel
IF xlsFeuilleEnCours(xlsDocument, i) = True THEN
FOR j = 1 _TO_ xlsNbLigne(xlsDocument)
Trace(xlsDocument[j, "A"]) // EDD (11/24) : xlsDocument[ "ligne", "Colonne"]
Trace(xlsDocument[j, "B"]) // EDD (11/24) : Vous pouvez sauvegarder les anciennes informations dans une autre dossier à part
Trace(xlsDocument[j, "C"])
END
END
END
xlsFerme(xlsDocument) // EDD (11/24) : Fermeture de dossier Office Excel pour que il n'y a pas de tache qui tourne derrière
END

NB : Dans cette idée vous ne changez pas de code dans votre ancienne application

Cordialement
Mr.RATSIMANDRESY
Niry Aina Eddy