Bonjour Sanarien, le Forum
Je suis partisant de ne plus employer les macros XL4 'Aut
pen' et autres 'Auto_Close'.
Pour la différence elle est simple, Microsoft préconise d'éviter de les employer dans de nouveaux développements puisqu'elles ont été avantageusement remplacées depuis XL97 par les macros évènementielles bien plus puissantes...
Pour ce qui est de ton Problème au regard de ton extrait de code, je ne situe pas vraiment comment 'Aut
pen' pourrait inter-agir de meilleure façon que la macro évènementielle 'Workbook_Open'...
En fait il faut surtout savoir gérer l'erreur si au moment de l'ouverture de 'TrucMuch.xls' le classeur 'DonneesCa.xls' n'est pas ouvert... Et ceci dans les deux types de macros... (
A moins qu'ils ne manque des lignes dans le code que tu as fourni car je ne sais pas ce que sont 'Chemin' et 'Operateur' que je prends pour des Variable String)
Voici une approche plus rationnelle :
Private Const WBName As String = 'DonneesCa.xls'
Private Const WBPath As String = 'C:\\\\\\\\Documents and Settings\\\\\\\\UserName\\\\\\\\Mes documents\\\\\\\\'
Private Sub Workbook_Open()
Dim WBData As Workbook
Dim WSData As Worksheet
Dim Operateur As String, Chemin As String
Operateur = Application.UserName
Chemin = 'Mon Beau Sapin Roi des Forêts...'
If Not TestWBOpen(WBName) Then Workbooks.Open WBPath & WBName
Set WBData = Workbooks(WBName)
Set WSData = WBData.Sheets('sev')
With WSData
.Unprotect 'micdonsev'
.Cells(50, 1).Value = Chemin
.Cells(52, 1) = Operateur
.Protect 'micdonsev'
End With
End Sub
Private Function TestWBOpen(StrWBk As String) As Boolean
Dim WB As Workbook
For Each WB In Application.Workbooks
If LCase(CStr(WB.Name)) = LCase(StrWBk) Then TestWBOpen = True
Next
End Function
Bon 1er Mai
[ol]@+Thierry[/ol]
EDITION !!!
Satanés @##### de Smileys qui se mettent dans le Code !!! B)
Message édité par: _Thierry, à: 01/05/2006 15:17