Re : Pb lien hypertexte ouvrant un .xls avec macro
bonjour
en fait, j'ai certifié le projet vba pour avoir un niveau de sécurité élevé à l'exécution des macros. Je n'ai pas saisi la cause, mais bon çà marche!
Le seul souci, depuis que le fichier est en réseau,( exécuté à partir du portail par la création d'un lien hypertexte), est que lorsqu'il est ouvert sur plusieurs postes, au moment de quitter le fichier, il me met: il y a déjà un fichier nommé...il ne peut y avoir 2 fichiers avec un même nom, voulez-vous le remplacer...quelque soit l'option choisie, je n'arrive plus à lancer mes macros par les boutons que j'ai crée à cet effet. Il faut souligner que le fichier sauvegarde automatiquement en quittant. Voici le code dans thisworkbook, s' il y a moyen d'arranger cet état.
Merci à celui qui voudra bien se pencher sur mon pb.
J'insiste, mais ce fichier est utilisé par une vingtaine d'opérateurs à tout moment, j'aimerais bien qu'il soit opérationnel. Si seulement un poste est ouvert, çà fonctionne, mais en pratique, cela arrive fréquemment que ce fichier soit ouvert sur plusieurs postes.
merci au fofo
Private Sub Workbook_Open()
Dim lgDerLig As Long
USFuser.Show
' Si aucun nom n'a été saisi, on quite l'appli
If NomUtil = "" Then ThisWorkbook.Close
' Sauvegarder le nom de l'utilisateur et la date de connexion
With Worksheets("Connexion")
.Visible = True
lgDerLig = .Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
.Range("A" & lgDerLig).Value = NomUtil
.Range("B" & lgDerLig).Value = Format(Date, "dddd d mmm yyyy")
.Range("C" & lgDerLig).Value = Time()
.Visible = False
End With
' sinon on continue
'Load UserForm1 'cela doit être enlevé car UserForm1.Show effectue le load
UserForm1.Show
bProtect = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) 'enregistre en quittant
Dim intWS As Integer
' Si la déprotection/protection est autorisée
If varProtect = True And bProtect = True Then
' Boucle sur toutes les feuilles du classeur
For intWS = 1 To ThisWorkbook.Worksheets.Count
If Sheets(intWS).Name <> "historiq" And Sheets(intWS).Name <> "Users" _
And Sheets(intWS).Name <> "Connexion" Then
' Protection de la feuille
Sheets(intWS).Protect Password:="guy", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next intWS
End If
ThisWorkbook.Save
End Sub