Excel VBA – Rapatrier les informations d’un fichier (chemin/emplacement et nom)

Bonjour à tous,

Voici une amélioration d'un ancien post.

Le but est de rapatrier les informations d'un fichier que l'on sélectionne via une boîte de dialogue.

Cliquez ici pour télécharger le fichier Excel.

Ce code est ensuite très pratique pour pouvoir ensuite effectuer des traitements sur un fichier sélectionné.

Voici le code :

Option Explicit
Sub choix_CheminEtFichiers()
'Cette macro permet de mettre dans la plage nommee les informations du fichier selectionne
    'note : on aurait pu tout faire en une seule fois sans variables, mais en ayant
    'des variables, cela permet de facilement continuer le code par la suite.
    Dim strFichier As String
    Dim strChemin As String
    Dim strCheminEtFichier As String
    'on ouvre la boite de dialogue pour recuperer les informations du fichier selectionne
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        On Error Resume Next
        strChemin = .SelectedItems.Parent.InitialFileName
        strCheminEtFichier = .SelectedItems.Item(1)
        'note : il existe de nombreuses autres solutions pour recuperer le nom du fichier
        strFichier = Right(strCheminEtFichier, Len(strCheminEtFichier) - InStrRev(strCheminEtFichier, "\"))
        On Error GoTo 0
    End With
    'on rapatrie les informations dans la feuille excel
    If strCheminEtFichier <> "" Then
        Range("Nom_du_Fichier").Value = strFichier
        Range("CheminFichier").Value = strChemin
        Range("Nom_et_Chemin_du_Fichier").Value = strCheminEtFichier
    End If
    'on ajuste la colonne contenant le resultat
    Columns(Range("Nom_du_Fichier").Column).EntireColumn.AutoFit
End Sub

Bonne continuation.

Gaetan Mourmant

PS : Ne manquez aucune nouvelle astuce sur Excel, abonnez-vous à notre newsletter gratuite !

Capsules VBA – Lister toutes les formules uniques d’une sélection

Bonjour à tous,

Dans ce post, nous allons apprendre comment lister toutes les formules uniques d'une sélection, un peu plus bas, vous trouverez aussi le lien pour une vidéo explicative de cet utilitaire.

Télécharger l'application de listage des formules uniques de la sélection
Voici en avant-première, un utilitaire qui permet de lister toutes les formules uniques de la plage sélectionnées.

Vous pouvez télécharger le fichier en cliquant ici.
Le code est en accès libre.
Une fois installé, sélectionnez votre plage, allez dans l'onglet Formules, puis cliquer sur le dernier bouton à droite.

Visionner une formation pour comprendre comment l'application fonctionne.

Les capsules VBA sont des cours express expliquant comment développer une application spécifique sur VBA.
Elles sont idéales pour :
- Pratiquer le VBA au travers d'exemples concrets.
- Améliorer son vocabulaire VBA.
- Découvrir de nouvelles astuces de programmation.

Pour comprendre comment le code VBA de cet utilitaire fonctionne, vous pouvez acheter les capsules vidéos explicatives du code en cliquant ici.

A bientôt

Gaetan

PS : Ne manquez aucune nouvelle astuce sur Excel, abonnez-vous à notre newsletter gratuite !

FormXL Pro – Nouvelle copie d’écran et démonstration

Bonjour à tous,

Comme vous le savez, je continue de peaufiner FormXL Pro.
D'ailleurs, si vous voulez assister à une démo live, cliquez ici :
http://www.xlerateur.com/demonstration-formxl-pro/

Il y a maintenant de plus en plus d'utilisateurs et dans de nombreuses industries.

=> Si vous utilisez régulièrement des tables avec de nombreuses colonnes, FormXL Pro vous permet de rapidement visualiser l'ensemble des données et faciliter ainsi la consultation et la saisie.

=> Si vous êtes un développeur Excel de niveau débutant à super avancé, FormXL Pro peut se rentabiliser très rapidement en finalisant un projet pour un client. Là où vous auriez passé 10 heures ou plus pour créer l'interface de saisie, avec FormXL Pro, c'est prêt en 5 clics, et sans aucune connaissance de VBA. En plus, pas besoin de faire quoi que ce soit si le client demande des colonnes en plus, il suffit juste d'ajouter la colonne et celle-ci est directement intégrée.

En quelques clics, l'interface est automatiquement ajoutée, et vous pouvez même gérer les tables liées, par exemple ici, le numéro du client est lié à la table des clients.
Pour en savoir plus ou acheter FormXL Pro, cliquez ici.

A très bientôt.

Gaëtan Mourmant

PS : Ne manquez aucune nouvelle astuce sur Excel, abonnez-vous à notre newsletter gratuite !

Comment mettre une plage dans une variable tableau (array)

Excellentes fêtes à tous !
Voici une question d'une de mes étudiantes.
La réponse (cliquez ici pour télécharger le fichier) est très simple, mais comme mon étudiante a cherché très longtemps, je la redonne ici 😉
Il suffit simplement de faire référence au nom du tableau via un Range :

Sub ChargeEnMemoireTableSites()
Dim arrTableSites() As Variant
arrTableSites = Range("TableSites").Value
End Sub

Note : pour visualiser le contenu de la variable tableau dans le code, sélectionner la variable et clic droit, ajouter un espion...

C'est tout, mais c'est très utile, car vous pouvez ensuite parcourir la variable tableau sans avoir à lire cellule par cellule, d'où un gain de temps évident.
Par exemple :
http://www.xlerateur.com/divers/2017/06/12/de-limportance-des-variables-tableaux-en-vba-5963/
Pour approfondir le sujet, je ne peux que vous recommander ma formation sur les variables tableaux :


A bientôt
Gaetan

PS : Ne manquez aucune nouvelle astuce sur Excel, abonnez-vous à notre newsletter gratuite !

Copier un fichier vers plusieurs répertoires

Dans le cadre du déploiement d'un fichier pour de multiples utilisateurs, il est parfois pratique de pouvoir copier celui-ci à plusieurs endroits pour que tout le monde ait une copie à jour. Évidemment, ca serait mieux si le fichier était directement multi-utilisateur, mais parfois on n'a pas le choix !

Voici donc un petit fichier qui automatise ce processus : CopierMultiplesFichiers.XLSM

L'essentiel du code est :


Sub CopierFichier()
Dim rgeCell As Range
For Each rgeCell In Range("TableauColEmplacementFinal")
FileCopy Range("CheminCompletFichierSource"), rgeCell.Value
Next
End Sub

On a aussi nommé les plages suivantes :

Et on utilise aussi quelques formules pour recréer le chemin complet de chaque fichier.
DROITE : retourne les caractères à droite de la plage
& : permet de concaténer, c'est-a-dire de combiner deux chaînes de caractères ensemble.

Vous pouvez aussi noter que j'utilise une colonne intermédiaire pour entrer manuellement des données, tout en conservant une formule identique à la colonne C.

En espérant que ce petit fichier puisse vous rendre pleins de services !

A bientôt.

Gaetan

PS : Ne manquez aucune nouvelle astuce sur Excel, abonnez-vous à notre newsletter gratuite !