En utilisant la boîte de dialogue pour ouvrir et enregistrer le classeur
Nous savons déjà comment ouvrir ou enregistrer un fichier Excel dans VBA. Nous utilisons simplement la méthode Open et SaveAs de l’objet Workbook. Mais cela nécessite un codage en dur du chemin du fichier. Mais la plupart du temps, vous souhaiterez que l’utilisateur final sélectionne un fichier à l’aide de l’interface graphique ou dise Fichier Ouvrir ou Enregistrer sous Boîte de dialogue qui permet à l’utilisateur de choisir l’emplacement du fichier visuellement et facilement.
Dans cet article, nous couvrons le code utilisé pour afficher la boîte de dialogue d’ouverture du classeur et enregistrer en tant que boîte de dialogue.
J’ai joint un classeur que vous pouvez télécharger. Le classeur joint à cet article contient trois macros === Code VBA pour ouvrir un fichier à l’aide de la boîte de dialogue Ouvrir un fichier Dans ce code, nous utiliserons la méthode GetOpenFilename de l’application. La syntaxe de la méthode GetOpenFilename est:
_Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect]) _ [FileFilter]: Vous pouvez définir d’afficher un seul type de fichier dans le dossier sélectionné. Si vous écrivez « Excel-Files, .xlsx, .xls, * .xlsm » etc.
alors seuls les fichiers Excel seront affichés à partir du dossier dans la boîte de dialogue d’ouverture de fichier.
[FilterIndex]: * C’est le nombre de filtres de fichiers que vous souhaitez utiliser.
[Titre]: Le titre de la boîte de dialogue.
[ButtonText]: * Pour spécifier le texte du bouton. Pas important.
[MultiSelect]: C’est une variable booléenne. Si vous le définissez sur True ou 1, vous pourrez sélectionner plusieurs fichiers. Si vous le définissez sur false, vous ne pouvez sélectionner qu’un seul fichier.
Assez de théorie. Faisons quelques sorts.
Code VBA pour ouvrir un fichier à la fois
Option Explicit Sub OpenOneFile() Dim FileName As Variant 'Displaying the open file dialog box FileName = Application.GetOpenFilename("Excel-files,*.xls", _ 1, "Select One File To Open", , False) 'User didn't select a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Open the workbook Workbooks.Open FileName End Sub
Comment ça marche?
Lorsque vous exécutez ce segment de code, la méthode GetOpenFilename pour l’objet Application ouvre une boîte de dialogue Ouvrir un fichier. Le titre de la boîte de dialogue sera « Sélectionnez un fichier à ouvrir » comme nous l’avons défini dans le code.
Si vous sélectionnez un fichier, le code Worbook.Open s’exécutera et le fichier sera ouvert. Si vous ne sélectionnez pas de fichier, le sous-programme se fermera sans exécuter le code Workbook.Open.
Code VBA pour ouvrir un ou plusieurs fichiers à la fois Ce segment de code ouvrira la boîte de dialogue d’ouverture de fichier, mais vous pourrez sélectionner plusieurs fichiers à la fois.
Sub OpenMultipleFiles() Dim FileName As Variant, f As Integer 'Displaying the open file dialog box FileName = Application.GetOpenFilename("Excel-files,*.xlsx", _ 1, "Select One Or More Files To Open", , True) 'User didn't select a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Open all the workbooks selected by user For f = 1 To UBound(FileName) Workbooks.Open FileName(f) Next f End Sub
Notez qu’ici nous avons défini la variable multiselect sur True. Cela permettra la sélection multiple du fichier.
Code VBA pour ouvrir la boîte de dialogue Enregistrer sous Pour ouvrir une boîte de dialogue Enregistrer sous, nous utiliserons la méthode GetSaveAsFilename de l’objet Application. La syntaxe de la méthode est:
_Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText]) _ [InitialFileName]: * Le nom de fichier initial. Si vous ne renommez pas le fichier lors de son enregistrement, votre fichier sera enregistré sous ce nom.
[FileFilter]: Vous pouvez définir d’afficher un seul type de fichier dans le dossier de sélection. Si vous écrivez « Excel-Files, .xlsx, .xls, * .xlsm » etc.
alors seuls les fichiers Excel seront affichés à partir du dossier dans la boîte de dialogue d’ouverture de fichier.
[FilterIndex]: L’index de filtre du fichier.
[Titre]: * Le titre de la boîte de dialogue.
[ButtonText]: * Ceci est utilisé dans le système Mac pour changer le nom du bouton.
Veuillez suivre ci-dessous pour le code
Sub SaveFile() Dim FileName As Variant 'Displaying the saveas dialog box FileName = Application.GetSaveAsFilename("MyFileName.xls", _ "Excel files,*.xls", 1, "Select your folder and filename") 'User didn't save a file If TypeName(FileName) = "Boolean" Then Exit Sub 'Save the workbook ActiveWorkbook.SaveAs FileName End Sub
SaveFile Macro utilise la méthode GetSaveAsFilename de l’objet Application pour ouvrir la boîte de dialogue Enregistrer sous, attribuer le nom de fichier et sélectionner l’emplacement d’enregistrement du classeur.
Alors oui les gars, voici comment vous pouvez utiliser la boîte de dialogue pour ouvrir et enregistrer des fichiers en utilisant VBA. J’espère que cela a été utile. Si vous avez des doutes concernant cet article ou tout autre sujet VBA, demandez dans la section commentaires ci-dessous.
Articles liés:
`link: / import-and-export-in-vba-use-a-closed-workbook-as-a-database-dao-using-vba-in-microsoft-excel [Utiliser un classeur fermé comme base de données (DAO) utilisant VBA dans Microsoft Excel] `| Pour utiliser un classeur fermé comme base de données avec une connexion DAO, utilisez cet extrait de code VBA dans Excel.
`link: / import-and-export-in-vba-use-a-closed-workbook-as-a-database-ado-using-vba-in-microsoft-excel [Utiliser un classeur fermé comme base de données (ADO) utilisant VBA dans Microsoft Excel] `| Pour utiliser un classeur fermé en tant que base de données avec une connexion ADO, utilisez cet extrait de code VBA dans Excel.
link: / applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Premiers pas avec Excel VBA UserForms]
| * Pour insérer des données dans la base de données, nous utilisons des formulaires. Les UserForms d’Excel sont utiles pour obtenir des informations de l’utilisateur. Voici comment vous devez commencer avec les formulaires utilisateur VBA.
===
`link: / user-forms-input-boxes-in-vba-change-the-valueecontent-of-multiple-userform-controls-using-vba-in-microsoft-excel [Change la valeur / le contenu de plusieurs contrôles UserForm using VBA in Excel] `| * Pour modifier le contenu des contrôles de formulaire utilisateur, utilisez ce simple extrait de code VBA.
`lien: / user-forms-input-boxes-in-vba-empêche-un-userform-de-fermer-lorsque-l’utilisateur-clique-sur-le-bouton-x-en utilisant-vba-dans-microsoft-excel [ Empêcher un formulaire utilisateur de se fermer lorsque l’utilisateur clique sur le bouton x à l’aide de VBA dans Excel] `| Pour empêcher le formulaire utilisateur de se fermer lorsque l’utilisateur clique sur le bouton x du formulaire, nous utilisons l’événement UserForm_QueryClose.
Articles populaires:
lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité]
| Accélérez votre tâche. Ces 50 raccourcis vous permettront de travailler encore plus rapidement sur Excel.
lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel]
| C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher la valeur de différentes plages et feuilles.
lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016]
| Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter une valeur spécifique.
La fonction Countif est indispensable pour préparer votre tableau de bord.
lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]
| C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques