Premier aperçu de l’utilitaire XLérateur

Bon­jour à tous,

Prof­i­tant de l’a­calmie rel­a­tive des vacances, je me suis lancé dans un développe­ment que j’avais envie de faire depuis très longtemps. Le petit rosé a été pris après le développe­ment et pas avant, n’est ce pas Gérard !

Voici donc un pre­mier aperçu de l’u­til­i­taire XLer­a­teur.

Vous y trou­verez de nom­breuses fonc­tion­nal­ités :

Le pre­mier bou­ton List vous sera très utile pour saisir des don­nées en réduisant le nom­bre de clics. Il est moins puis­sant et com­plet que For­mXL Pro, mais pour des listes avec de nom­breuses val­i­da­tions de don­nées, il est très utile.

Voici la boîte de dia­logue qui s’af­fichera :

Ceci vous donne accès à pleins de fonc­tion­nal­ités. Les voici en vidéo, et plus bas en texte.

  • Pos­si­bil­ité d’im­porter une liste déjà exis­tante.
  • Si la cel­lule de saisie com­porte déjà une val­i­da­tion avec liste, c’est cette dernière qui sera listée.
  • Vous pou­vez aus­si pren­dre la valeur du dessus ou de gauche.
  • Un dou­ble clic sur un élé­ment de la liste ajoute la valeur dans la cel­lule active ; soit en lais­sant la valeur déjà exis­tante et en ajoutant une vir­gule (ou une autre chaîne de car­ac­tère) entre les deux, soit en la rem­plaçant com­pléte­ment.
  • Il est pos­si­ble de sauve­g­arder la liste pour pou­voir l’u­tilis­er dans d’autres feuilles ou classeurs.
  • Après saisie, vous pou­vez choisir l’ac­tion suiv­ante : aller à la cel­lule suiv­ante ou aller à la cel­lue du dessous.

Je l’ai util­isé pour saisir des rubriques de dépens­es, mais aus­si pour saisir des thèmes de for­ma­tion pour les 100 astuces à venir.

A bien­tôt pour la suite des fonc­tion­nal­ités.

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

Mini utilitaire de saisie en VBA

Bon­jour à tous,

Pour con­stru­ire un pro­to­type de saisie des­tiné à un usage lim­ité, voici une petite procé­dure qui peut ren­dre de grands ser­vices. Cet exem­ple ne per­met que la saisie, mais pas la mod­i­fi­ca­tion ou la sup­pres­sion de don­nées.

Cet exem­ple sert à démon­tr­er l’u­til­i­sa­tion de cer­taines fonc­tion­nal­ités du VBA en inter­ac­tion avec Excel.

On notera :

  • Util­i­sa­tion d’une vari­able pour iden­ti­fi­er la nou­velle ligne à saisir.
  • Util­i­sa­tion de noms de plages défi­nis dans Excel pour ren­dre l’ap­pli­ca­tion robuste. Par exem­ple, l’a­jout, la sup­pres­sion, la mod­i­fi­ca­tion ou le déplace­ment de lignes ou de colonnes est pos­si­ble dans une large mesure. A l’in­verse, si vous aviez util­isé des références sta­tiques du style Range(“D2”), celles-ci ne sont pas du tout robustes en VBA-Excel.

Voici une petite vidéo qui démon­tre la con­struc­tion du fichi­er :

On peut aller une étape plus loin en créant une boucle qui va par­courir toutes les colonnes. Dans le fichi­er joint (mais pas dans la vidéo), j’ai aus­si géré le fait de met­tre la table de don­nées dans une autre feuille :

De plus, en trans­for­mant la plage en tableau, l’a­jout des lignes étend automa­tique­ment le tableau vers le bas.

Pour ajouter un nou­veau champ, il faut sim­ple­ment définir deux noms et mod­i­fi­er le code VBA en ajoutant le nom du champ dans l’ar­ray:

  • Saisie_NomNouveauChamp
  • Col_ Nom­Nou­veauChamp
  • arr­Colonnes = Array(“Nom”, “Prenom”, “Ville”, “Code­Postal”, ” Nom­Nou­veauChamp”)

Bonne con­tin­u­a­tion.

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel

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

Bon­jour à tous,

Voici une amélio­ra­tion d’un ancien post.

Le but est de rap­a­tri­er les infor­ma­tions d’un fichi­er que l’on sélec­tionne via une boîte de dia­logue.

Cliquez ici pour télécharg­er le fichi­er Excel.

Ce code est ensuite très pra­tique pour pou­voir ensuite effectuer des traite­ments sur un fichi­er sélec­tion­né.

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 con­tin­u­a­tion.

Gae­tan Mour­mant

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel