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.
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
'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
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
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