Cellules protégées

2 réponses
Avatar
charles.schauss
Bonjour,

J'esp=E8re que vous allez pouvoir m'aider.

J'ai cr=E9=E9 une petite application Excel qui permet aux utilisateurs de s=
=E9lectionner via une Liste de choix dans un formulaire VBA, un formulaire =
fiscal (classeur mod=E8le Excel) et d'y ins=E9rer les donn=E9es de leur cli=
ent depuis une table Access.
Code VBA pour l'ouverture du formulaire
Private Sub lstbChoix_Click()
Dim strDoc as string

If Dir(lstbChoix.List(lstbChoix.ListIndex, 2)) =3D "" Then
MsgBox Prompt:=3D"Ce document n'est pas install=E9" , Buttons:=3DvbInfo=
rmation + vbOKOnly
Else
strDoc =3D lstbChoix.List(lstbChoix.ListIndex, 2)
Unload Me
Workbooks.Add Template:=3DstrDoc
End If
End Sub

A l'ouverture du nouveau fichier, une macro (Workbook_Open) pour activer le=
formulaire de s=E9lection du client et puis insertion des donn=E9es signal=
=E9tiques sur la feuille active.

Le probl=E8me suivant apparait ensuite, mais seulement chez quelques utilis=
ateurs, heureusement;
Lorsqu'ils veulent saisir les montants dans le formulaire fiscal, ils re=E7=
oivent le message que la cellule est prot=E9g=E9e, s'il veulent d=E9prot=E9=
ger la feuille, un mot de passe est demand=E9 alors que les feuilles sont p=
rot=E9g=E9es sans mot de passe.
Or, en v=E9rifiant, les feuilles du classeur sont prot=E9g=E9es, mais les c=
ellules en question sont bien d=E9verrouill=E9es.
Le ph=E9nom=E8ne est comme si plusieurs feuilles seraient s=E9lectionn=E9es=
, car si je s=E9lectionne la seconde feuille de ce classeur et reviens ensu=
ite sur la premier, tout rentre dans l'ordre.

Excusez-moi pour ce long texte...

D'avance merci pour votre aide
Charles

2 réponses

Avatar
isabelle
bonjour Charles,

peut tu montrer la macro Workbook_Open ?

isabelle
Avatar
charles.schauss
Le mardi 17 février 2015 00:09:18 UTC+1, isabelle a écrit :
bonjour Charles,

peut tu montrer la macro Workbook_Open ?

isabelle



Bonsoir Isabelle,

Bien sûr...
C'est la même depuis plusieurs années

Option Explicit

Private Sub Workbook_Open()
Dim FileNum As Integer
Dim vIntitulé As String, vValeur As Variant
Dim LDate As Date, LUserKey As String, LLicence As String
Dim HDSerial As Variant
Dim NomDoc As String
Dim objWorksheet As Worksheet


NomDoc = ActiveWorkbook.Name
FileNum = FreeFile
If GetSetting(AppName:="XLFisc", Section:="Licence", Key:="LicNum ber") = "" Then
MsgBox "Désolé. Veuillez faire appel à Mr Charles Schauss" & vbLf & "au 27 62 03 93, ou GSM: 621 268 158" _
& vbLf & "pour vérifier votre installation!", 48, "Avertissem ent"
Workbooks(NomDoc).Close SaveChanges:úlse
Else
LUserKey = GetSetting(AppName:="XLFisc", Section:="Licence", Key:="UserKey")
LDate = GetSetting(AppName:="XLFisc", Section:="Licence", Key :="LicDate")
LLicence = GetSetting(AppName:="XLFisc", Section:="Licence", Key:="LicNumber")

HDSerial = Serial("C")

'Variable de calcul
Dim vJour As Integer, vMois As Integer, vAn As Integer
Dim vDate As Double
Dim xSerial As Variant

vJour = Day(LDate)
vMois = Month(LDate)
vAn = Year(LDate)
vDate = DateSerial(vAn, vMois, vJour)
xSerial = CStr(Val("&O" & LLicence) - ((vDate * vJour * vMois) - vAn))
If xSerial <> HDSerial Then
MsgBox "Désolé. Veuillez faire appel à Mr Charles Schauss " & vbLf & "au 27 62 03 93, ou GSM: 621 268 158" _
& vbLf & "pour vérifier votre installation ou enregistrer votre licence!", 48, "Avertissement"
Workbooks(NomDoc).Close SaveChanges:úlse
Else
'Vérification si l'application est ouverte
If MAPPEOFFEN("XLFisc 2001.xls") And Sheets("Page1").Range("c_D esignation") = "" Then
On Error Resume Next
Sheets("Avis").Unprotect Password:ÞCrypt(GetSetting("XL Fisc", "Parameter", "TemplPW"))
If Sheets("Avis").Range("C3") = "" Then
Sheets("Avis").Range("C3") = GetSetting(AppName:="X LFisc", Section:="Personnel", Key:="UserName")
Sheets("Avis").Range("C4") = GetSetting(AppName:="X LFisc", Section:="Personnel", Key:="UserAdresse") & _
IIf(GetSetting(AppName:="XLFisc", Section :="Personnel", Key:="UserAdresseNr") <> "", ", ", "") & _
GetSetting(AppName:="XLFisc", Section:= "Personnel", Key:="UserAdresseNr")
Sheets("Avis").Range("C5") = GetSetting(AppName:="X LFisc", Section:="Personnel", Key:="UserLand") & _
"-" & GetSetting(AppName:="XLFisc", Secti on:="Personnel", Key:="UserPostalCode") & _
" " & GetSetting(AppName:="XLFisc", Secti on:="Personnel", Key:="UserVille")
Sheets("Avis").Range("E6") = GetSetting(AppName:="X LFisc", Section:="Personnel", Key:="UserPhone")
Sheets("Avis").Range("E7") = GetSetting(AppName:="X LFisc", Section:="eTVA", Key:="Fax")
End If
Sheets("Avis").Protect Password:ÞCrypt(GetSetting("XLFi sc", "Parameter", "TemplPW")), DrawingObjects:=True, Contents:=True, Sc enarios:=True
Application.Run "'XLFisc 2001.xls'!DoeTVA"
End If
End If
End If
End Sub

Même les fichiers des années précédentes ont le même soucis

Merci pour votre aide