Bonjour,
Je souhaite créé une macro qui ouvre un autre fichier Excel (protégé par un mot de passe) et qui lance une macro (afficheGrille) de ce fichier Excel que l'on vient d'ouvrir.
Ce code VBA (ci-dessous) marche comme un charme quand le fichier se nomme simplement test.xlsm
Par contre, quand il a son vrai nom (RVI-Trim_202204_PF MOBILITE AUTO FR_DIRECTION COMMERCIALE_RESEAU COMMERCIAL_13129047_RESEAU COMMERCIAL.xlsm), il a le bug suivant :
Une idée de modification de code pour pouvoir ouvrir n'importe quel classeur, même un avec un long nom ?
Merci d'avance
Sub cmdFileDialog()
Dim LaMacro As String
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Veuillez sélectionner un fichier excel"
.Filters.Clear
.Filters.Add "Excel files", "*.xlsm*"
If .Show = True Then
fname = .SelectedItems(1)
Workbooks.Open fname, , Password:="motdepasse"
LaMacro = ActiveWorkbook.Name & "!afficheGrille"
Application.Run LaMacro
Else
MsgBox "pas de fichier sélectionné"
End If
End With
End Sub