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. Dans le fichier joint (mais pas dans la vidéo), j'ai aussi géré le fait de mettre la table de données dans une autre feuille :

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

Pour ajouter un nouveau champ, il faut simplement définir deux noms et modifier le code VBA en ajoutant le nom du champ dans l'array:

  • Saisie_NomNouveauChamp
  • Col_ NomNouveauChamp
  • arrColonnes = Array("Nom", "Prenom", "Ville", "CodePostal", " NomNouveauChamp")

Bonne continuation.

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

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

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

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

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

Gérer un mini-mini budget dans une cellule

Bonjour à tous,

Entre l'enregistrement de deux vidéos sur les tableaux croisés dynamiques, j'avais besoin de faire travailler un peu les neurones du VBA 🙂

Donc, suite à une discussion avec Dominique qui me rappelait l'utilisation de la formule N() pour laisser un commentaire dans une formule, m'est venu l'idée de gérer tout cela via un formulaire.
Par exemple, vous pouvez entrer une formule comme ceci :

=N("Solde Départ")+1000+N("Train")-90+N("Nouveau")-98

qui va renvoyer 812 (=1000-90-98).

Cette formule permet donc de conserver la signification des valeurs entrées.

En VBA, ca nous donne donc ce formulaire :

Par exemple, cela vous permet de gérer un mini-budget dans une cellule pour savoir où vous en êtes d'un prévisionnel.

Vous pouvez télécharger le fichier ici et faire un double-clic sur n'importe quelle cellule.

Pour l'insérer dans vos propres fichiers. Voici la procédure en vidéo :

Je vais certainement en faire une capsule vidéo VBA si l'explication détaillée du code vous intéresse.

Si vous voyez d'autres utilisations possibles de ce type de formules/formulaires, n'hésitez-pas à commenter.

A bientôt.

Gaetan

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel

De l’utilisation des modèles dans Excel – organigrammes

Lorsque vous cliquez sur Fichier - Nouveau, vous avez accès à toute une panoplie de modèles prêts à être utilisés.

Parfois, ca peut servir de bon point de départ que l'on peut ensuite adapter aux besoins.

excel-organigrammes 1

Par exemple, il y a ce modèle de budget sur 18 périodes :

excel-budget 1
ou encore ces modèles d'organigrammes :

excel-organigrammes-liste 1

En fait, vous avez accés à beaucoup, beaucoup de modèles en lignes !
Pour cela, utilisez le bouton de recherche situé en haut ou bien cliquez sur les recherches pré-déterminées :

excel-modeles-recherche

Ce qui vous donne accès aux différents modèles :

excel-modeles-resultat-recherche-petite-entreprise

Bon amusement et à bientôt !

Gaëtan Mourmant

En cadeau de bienvenue : les 7 combinaisons de touches indispensables sur Excel