Macro pour ajouter un rapport quotidien - Conseils Excel

Judith a posté la question Excel de cette semaine.

J'ai besoin d'importer un fichier quotidiennement. Je voudrais ajouter le fichier chaque jour à un classeur Excel existant et faire nommer la feuille de calcul pour le j / m / y.

Une courte macro visuelle de base en fera une tâche simple. Un problème - le nom de l'onglet d'une feuille ne peut pas inclure de barre oblique. Ainsi, la solution renomme la feuille de chaque jour pour avoir un nom comme "03 octobre 1999".

La solution consiste à ajouter une feuille de calcul supérieure à votre livre existant. Cette feuille, appelée «Menu», fournit une interface utilisateur simple afin que vous puissiez confier cette tâche à un autre membre du personnel, si nécessaire. La feuille supérieure contient des cellules dans lesquelles l'utilisateur peut spécifier le nom de chemin et le nom de fichier du fichier à importer. Si vous importez un fichier créé par un autre système, ces champs ne changeront pas d'un jour à l'autre. La feuille de menu contient également une cellule avec la date actuelle formatée sans barres obliques. J'inclurai une macro à ouverture automatique qui remplira automatiquement cette cellule pour l'utilisateur, mais ils sont toujours libres de la changer avant de cliquer sur le bouton pour importer le fichier. Enfin, la feuille de menu a un gros bouton sur lequel l'utilisateur cliquera.Ce bouton invoquera la macro pour importer le fichier nommé dans le menu dans le livre actuel avec le nom de l'onglet spécifié.

Feuille de travail du menu

Ouvrez un nouveau classeur avec une seule feuille. Double-cliquez sur l'onglet de la feuille et saisissez un nom pour la feuille appelée "Menu". Ajoutez un joli titre dans la cellule A1. Dans les cellules C3: C5, ajoutez le texte comme indiqué à gauche. Dans la cellule D3, entrez le chemin du répertoire dans lequel se trouve le fichier chaque jour. Dans la cellule D4, ajoutez le nom du fichier. Laissez D5 vide. Il est plus facile de configurer le bouton une fois la macro créée, nous la laisserons donc pour plus tard.

  • Démarrez l'éditeur de macros avec alt = "" + F11
  • Choisissez Insertion - Module
  • Copiez le texte suivant dans l'éditeur de macro
Sub Auto_Open() ' This macro will put today's date as the default new tab name Sheets("Menu").Select Range("D5").Select Selection.Formula = "=text(now(),""mmm dd yyyy"")" Selection.Copy Selection.PasteSpecial Paste:=xlValues Application.CutCopyMode = False Selection.Columns.AutoFit Range("D8").Value = "" End Sub Sub GetFile() ' This macro will import a file into this workbook ' Copyright 1999 www.MrExcel.com Sheets("Menu").Select PathName = Range("D3").Value Filename = Range("D4").Value TabName = Range("D5").Value ControlFile = ActiveWorkbook.Name Workbooks.Open Filename:=PathName & Filename ActiveSheet.Name = TabName Sheets(TabName).Copy After:=Workbooks(ControlFile).Sheets(1) Windows(Filename).Activate ActiveWorkbook.Close SaveChanges:=False Windows(ControlFile).Activate Sheets("Menu").Select Range("D8").Select ActiveCell.Value = "Completed" Range("D9").Select End Sub

Maintenant, revenez à Excel et ajoutez un bouton à la feuille de menu.

Comment ajouter un bouton à une feuille de calcul

Ajouter un bouton
  • Affichez la barre d'outils Formulaires en sélectionnant Affichage - Barres d'outils - Formulaires
  • Sélectionnez l'outil Bouton dans la barre d'outils
  • Maintenez la touche alt = "" enfoncée, faites glisser du coin supérieur de B8 dans la cellule C9
  • Dans la boîte de dialogue Assign Macro, choisissez notre macro appelée GetFile et cliquez sur OK
  • Pendant que le bouton est toujours sélectionné, vous pouvez cliquer et faire glisser pour sélectionner le texte sur le bouton. Remplacez ce texte par "Process!" ou tout texte de votre choix

Vous avez maintenant l'application complète. Enregistrez le fichier dans un endroit pratique. Une fois que vous avez configuré votre fichier avec les informations correctes dans les cellules D3: D4, la procédure quotidienne sera la suivante:

  • Ouvrez le fichier que nous venons de créer
  • Vérifiez que la date indiquée dans la cellule D5 est appropriée.
  • Cliquez sur le gros bouton.
  • Enregistrez le fichier

Voici quelques façons de modifier la macro:

  • Si vous souhaitez que l'onglet soit nommé avec la date du jour précédent, ajoutez un "-1" après "NOW ()" dans la macro.
  • Si le fichier à importer comporte plusieurs feuilles et que la feuille cible n'est peut-être pas en haut, ajoutez Sheets ("nom de la feuille"). Sélectionnez après la ligne File.Open ci-dessus.

Articles intéressants...