Lancer une macro en fonction d'un utilisateur

anthooooony

XLDnaute Occasionnel
Bonjour

je cherche à diffuser un fichier Excel, cependant une macro se lance à chaque fermeture pour lancer la macro en beforeclose

Est il possible de lui dire de lancer la macro qu'à condition que ce soit moi ou mon collègue que le lancions?

RC1194
IBD496?

J'ai vu sur internet que pour récupérer le nom d'utilisateur c'est Environ("UserName").
Mais je ne sais pas lui dire de lancer la macro si Environ("RC1194");("IBD496") sinon rien.

Ci dessous une partie de mon code.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("Page de garde").Activate

ActiveWorkbook.Worksheets.Select
For Each Worksheet In ActiveWorkbook.Worksheets
    Worksheet.Select

Dim derlg As Long
    With Sheets("Détail pièces actives")
        .ResetAllPageBreaks
        derlg = .Range("A" & .Rows.Count).End(xlUp).Row
         For i = 3 To derlg
            If Range("A" & i) <> Range("A" & i - 1) Then
                .HPageBreaks.Add Before:=Range("A" & i)
            End If
        Next i
    End With
 
Next


On vous remerciant de votre aide

Anthooooony
 

Paf

XLDnaute Barbatruc
Re : Lancer une macro en fonction d'un utilisateur

Bonjour,

If Environ("UserName") = "RC1194" or Environ("UserName") = "IBD496" then

.... lignes de code
.... lignes de code

End If

Bonne suite

Edit : Désolé pour le presque doublon!
 

camarchepas

XLDnaute Barbatruc
Re : Lancer une macro en fonction d'un utilisateur

Bonsoir,

Variante possible, surtout si plusieurs personnes à tester

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
dim Admin as string 
Admin = "RC1194,IBD496"

If InStr(1, Admin, Environ("USERNAME")) > 0 Then

' Votre procédure

End If
 

Discussions similaires

Statistiques des forums

Discussions
312 748
Messages
2 091 616
Membres
105 009
dernier inscrit
aurelien76110