Mini utilitaire de saisie en VBA

Bonjour à tous,

Pour construire un prototype de saisie destiné à un usage limité, voici une petite procédure qui peut rendre de grands services. Cet exemple ne permet que la saisie, mais pas la modification ou la suppression de données.

Cet exemple sert à démontrer l'utilisation de certaines fonctionnalités du VBA en interaction avec Excel.

On notera :

  • Utilisation d'une variable pour identifier la nouvelle ligne à saisir.
  • Utilisation de noms de plages définis dans Excel pour rendre l'application robuste. Par exemple, l'ajout, la suppression, la modification ou le déplacement de lignes ou de colonnes est possible dans une large mesure. A l'inverse, si vous aviez utilisé des références statiques du style Range("D2"), celles-ci ne sont pas du tout robustes en VBA-Excel.

Voici une petite vidéo qui démontre la construction du fichier :

On peut aller une étape plus loin en créant une boucle qui va parcourir toutes les colonnes :

De plus, en transformant la plage en tableau, l'ajout des lignes étend automatiquement le tableau.

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

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 !