Mise en forme d'un fichier .xlsx via glisser-déposer
Bonjour à tous,
Pour les besoins du boulot, j'ai fait quelques petites macros de mise en forme des fichiers excel bruts (mais .xlsx tout de même). Je récupère ces fichiers via des extractions d'un logiciel : j'exporte en masse donc le fichier a toujours la même structure que je viens ensuite filtrer/mettre en forme.
J'ouvre ensuite mon extraction et j'active mes macros par le menu développeur (mes macros sont stockées dans mon classeur perso). Je me demandais s'il n'y a pas moyen de créer un fichier excel, qui affiche une une drop zone lorsqu'on l'ouvre, et sur laquelle je pourrais glisser-déposer mon fichier excel à mettre en forme : le fait de glisser-déposer le fichier déclenche les macros de mise en forme...
NB : l'idée est aussi de simplifier le process pour le partager avec mes collègues.
J'ai regardé un peu sur le net ce qui se faisait en la matière mais je suis un peu perdue.
Pouvez-vous me dire si c'est quelque chose de faisable et si oui, vers quels objets je dois m'orienter pour y arriver ?
Merci par avance pour votre aide,
Cordialement,
Fhlamby
Bonjour,
Une drop zone, je ne sais pas mais j'en doute.
Commentaire supprimé...
Cdlt,
Bonjour Fhlamby,
Dans ces situations moi j'utilise une boite de dialogue qui me permet de sélectionner le fichier à pointer (dans votre cas, il s'agit du fichier à mettre en forme).
Option Explicit
Function BrowseFile(CheminEtTypeFichier) As String
With Application.FileDialog(msoFileDialogFilePicker)
'Définit un titre pour la boîte de dialogue
.Title = "Choisir le fichier BASE DE DONNÉES EXCEL"
'Empêcher la multi-sélection
.AllowMultiSelect = False
'Répertoire par défaut suivi du type de fichier par défaut
.InitialFileName = CheminEtTypeFichier
'Efface les filtres existants.
.Filters.Clear
'Définit une liste de filtres pour le champ "Type de fichiers".
.Filters.Add "Classeurs Excel", "*.xls; *.xlsx; *.xlsm; *.csv"
'Définit le filtre qui s'affiche par
'défaut dans le champ "Type de fichiers "."
.FilterIndex = 1
'Indique le type d'affichage dans la boîte de dialogue
'(exemple visualisation des propriétés)
.InitialView = msoFileDialogViewProperties
'Affiche la boîte de dialogue
.Show
If .SelectedItems.Count > 0 Then
BrowseFile = .SelectedItems(1)
Else
BrowseFile = ""
End If
End With
End Function
-------------------------------------------------------
Sub SelectionFichier()
Dim CheminEtTypeFichier As String, Fichier As String, NomFichier As String
'Variable à définir : Le chemin par défaut
CheminEtTypeFichier = ""
Fichier = BrowseFile(CheminEtTypeFichier)
If Fichier <> "" Then
Workbooks.Open Fichier, UpdateLinks:=False, Notify:=False, ReadOnly:=True
NomFichier = ActiveWorkbook.Name
''''déroulement de la macro ici'''''
Else
MsgBox "Aucune sélection a été effectuée."
End If
End Sub
Vous pouvez copier-coller ce code. Il ouvre l'explorateur de fichier, et lorsque vous sélectionner un fichier, il le définit comme fichier sur lequel travailler avec la variable "NomFichier"
Bonne chance :)
Super, merci pour vos réponses et le code commenté ! Je teste ça dès que j'ai un peu de temps !