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 !

Rechercher des sujets similaires à "mise forme fichier xlsx via glisser deposer"