Macro Excel ne s'exécute pas pour certains utilisateurs
Bonjour,
J'ai créé un document Excel que différents utilisateurs de mon entreprise complètent et dont j'extrais une partie des données dans le cadre d'un workflow de validation. En pratique, je reçois leur fichier dans ma boîte mail, je l'ouvre, le contrôle et s'il est OK je clique sur un bouton qui lance la macro suivante (où "XXXXXXXXX" est mon nom d'utilisateur dans l'AD de la société, cette macro ne devant être exécutée que par moi) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Sub Validation_Direction()
'
' Validation_Direction Macro
Dim Utilisateur As String
Utilisateur = Environ("username")
If Utilisateur = "XXXXXXXXX" Then
nomfichier = ActiveSheet.Cells(6, 57).Value
Chemin = ActiveSheet.Cells(5, 57).Value
Z = Chemin & nomfichier & ".xlsm"
ActiveWorkbook.SaveAs Filename:=Z, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveSheet.ExportAsFixedFormat Type:=x1TypePDF, _
Filename:=Chemin & nomfichier, _
Quality:=x1QualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Sheets("Paye").Select
Range("A2:BF2").Select
Selection.Copy
ActiveWindow.ActivateNext
Application.Goto Reference:="R15C1"
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Range("Données_fdm[[#Headers],[IC]]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ThisWorkbook.Close SaveChanges:=False
Else
MsgBox "Vous n'êtes pas autorisé à utiliser ce bouton", vbCritical, "Erreur"
End If
End Sub |
Cette macro fonctionne parfaitement pour tous les fichiers reçus de mes différents utilisateurs, sauf pour un d'entre eux. Ils sont tous équipés d'Excel 2010 ou 2013, je suis moi-même en 2013.
Lorsque j'essaye de lancer la macro pour un fichier de l'utilisateur qui me pause problème j'ai le message suivant :
"Erreur d'exécution '32809'
Erreur définie par l'application ou par l'objet"
Si je lance le debugger, la macro s'arrête à l'instruction suivante :
nomfichier = ActiveSheet.Cells(6, 57).Value
Dernière précision, si le même fichier qui plante m'est envoyé par un autre utilisateur, il fonctionne.
Merci d'avance pour votre aide !