Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro qui ouvre une feuille par rapport à la session

vinzu

XLDnaute Nouveau
Bonjour à tous,

existe t'il une macro qui, par rapport à session qui est ouverte, ouvre une feuille précise.

C'est à dire :

Si c'est la session de : victor

Lorsque victor ouvre le fichier excel, il arrive directement sur la feuille nommée : victor et non pas sur celle que le précédent utilisateur a enregistrée...

J'ai tenté avec :

Code:
Private Sub Workbook_Open()
victor.ScrollArea = "A1:S800"
victor.Activate
ActiveWindow.Zoom = 101
End Sub

Mais cela ne fonctionne pas...

Merci d'avance et meilleures salutations
 

tototiti2008

XLDnaute Barbatruc
Re : Macro qui ouvre une feuille par rapport à la session

Bonjour vinzu,

Tu peux savoir quel utilisateur ouvre ton classeur, soit le nom enregistré à l'installation de Microsoft Office (Menu Outils - Options, Onglet Général, Nom d'utilisateur) avec

Code:
Application.Username

soit le nom de connexion à Windows avec

Code:
Environ("username")

Après, il faudra surement tester s'il y a une feuille existante à ce nom, décider que faire si cette feuille n'existe pas, etc...
 

vinzu

XLDnaute Nouveau
Re : Macro qui ouvre une feuille par rapport à la session

J'ai tenté avec le code :

Code:
Private Sub Workbook_Open()
Environ (victor)
victor.ScrollArea = "A1:S800"
victor.Activate
ActiveWindow.Zoom = 101
End Sub

Mais cela me mets un message d'erreur...

Pour décider que faire si cette feuille n'existe pas par rapport à la session, je pensais que si un utilisateur n'existe pas, cela dirige automatique sur une feuille du début : feuil1
 

Pierrot93

XLDnaute Barbatruc
Re : Macro qui ouvre une feuille par rapport à la session

Re,
un exemple de test de l'utilisateur de la cession windows :
Code:
If Environ("UserName") = "Victor" Then Sheets("Victor").Activate Else Sheets("Feuil1").Activate
 

tototiti2008

XLDnaute Barbatruc
Re : Macro qui ouvre une feuille par rapport à la session

Bonjour Pierrot ,
Re,

Ou peut-être un truc comme ça

Code:
Sub test()
Dim Ws As Worksheet
    On Error Resume Next
    Set Ws = ThisWorkbook.Worksheets(Environ("username"))
    On Error GoTo 0
    If Ws Is Nothing Then
        Sheets("Feuil1").Activate
    Else
        Ws.Activate
    End If
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…