Comment ouvrir un classeur avec un nom de variable avec Excel VBA

  • Partage Ça
Hugh West

Naturellement, nous pouvons avoir besoin d'ouvrir le fichier à partir d'un fichier Excel parent utilisant VBA dans un répertoire différent. Mais en même temps, nous avons également différents types de critères sur la façon dont nous voulons ouvrir le classeur. Si vous êtes curieux de savoir comment vous pouvez ouvrir un classeur avec le nom de la variable, alors cet article peut vous être utile. Dans cet article, nous discutons de la façon dont vous pouvez ouvrir un classeur avec le nom de la variable.en utilisant VBA dans Excel avec des explications élaborées.

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices ci-dessous.

Ouvrir un classeur avec un nom de variable en utilisant VBA.xlsm

Exemple.xlsx

4 façons simples d'ouvrir un classeur avec un nom de variable en utilisant VBA dans Excel

Nous allons utiliser le jeu de données ci-dessous pour la démonstration. Nous avons les informations sur les produits de plusieurs produits avec leur Id. Ceci est un exemple de fichier que nous allons ouvrir en utilisant le code VBA.

1. en utilisant la propriété Workbook.Open

Utilisation de la Workbook.Open nous pouvons ouvrir des fichiers en mentionnant le répertoire, ou en ne mentionnant pas l'emplacement. Nous pouvons également rendre le fichier ouvert en lecture seule.

1.1 Ouvrir le classeur en mentionnant le chemin du fichier

Dans la méthode suivante, nous allons utiliser la fonction Propriété Workbook.Open pour ouvrir le fichier directement à partir du répertoire d'emplacement du fichier mentionné. Peu importe où se trouve le fichier, nous pouvons l'ouvrir facilement.

Étapes

  • Nous avons un fichier stocké dans le dossier documents que nous devons ouvrir.
  • Nous utiliserons le nom du fichier comme variable, puis nous ouvrirons le fichier à l'aide d'une petite macro VBA.
  • Le répertoire exact du fichier est indiqué ci-dessous dans la fenêtre des propriétés.

  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si tu n'as pas ça, tu dois... activer l'onglet Développeur Ou vous pouvez également appuyer sur ' Alt+F11' pour l'ouverture de la Éditeur Visual Basic .

  • Une nouvelle boîte de dialogue apparaîtra alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

  • Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :
 Sub Open_with_File_Path() Dim Open_File As String : File_path = "C:\Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub 

  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur Voir les macros, sélectionnez les macros que vous venez de créer. Le nom est le suivant Ouvrir_avec_chemin_de_fichier Puis cliquez sur Exécuter .

  • Après cela, le Echantillon va s'ouvrir.

🔎 Ventilation du code

 Sub Open_with_File_Path() 

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Ouvrir_avec_chemin_de_fichier .

 Dim Open_File As String : File_path = "C:\Users\User\OneDrive\Documents\Sample" 

⮚ Ensuite, nous mettons l'emplacement du fichier dans le fichier Chemin_fichier variable

 Dim wrkbk As Workbook 

⮚ Puis, nous déclarons notre variable wrkbk dont le type est un classeur.

 Set wrkbk = Workbooks.Open(Filename:=File_path) 

⮚ Ensuite, nous ouvrons le fichier nommé dans la section Chemin_fichier et définir le fichier comme wrkbk variable.

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

Lire la suite : Comment ouvrir un classeur depuis un chemin en utilisant Excel VBA (4 exemples)

1.2 Ouvrir un classeur sans mentionner le chemin du fichier

Dans la méthode suivante, nous allons ouvrir le fichier à partir du dossier parent, où le fichier principal est enregistré. Le fichier peut être ouvert sans mentionner d'emplacement dans le code. Ce fichier doit simplement se trouver dans le même dossier que le dossier parent.

Étapes

  • Nous avons un fichier différent enregistré dans le même répertoire où le fichier Excel parent est maintenant enregistré.
  • Le nom du fichier est 1.

  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si vous ne l'avez pas, vous devez... activer l'onglet Développeur Ou Vous pouvez également appuyer sur ' Alt+F11 ' pour ouvrir le Éditeur Visual Basic .

  • Une nouvelle boîte de dialogue apparaîtra alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

  • Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur View Macros, sélectionnez les macros que vous venez de créer, dont le nom est le suivant Ouvrir_sans_chemin_de_fichier Puis cliquez sur Exécuter.

  • Après avoir appuyé sur Exécuter vous remarquerez que le fichier nommé 1 est maintenant ouvert.
  • Et voici comment ouvrir le classeur avec le nom de la variable en utilisant VBA dans Excel.

🔎 Ventilation du code

 Sub Open_without_File_Path() 

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Sub Open_without_File_Path()

 Dim wrkbk As Workbook 

⮚ Nous déclarons wrkbk comme une variable dans le type de classeur

 Set wrkbk = Workbooks.Open(Filename:="1.xlsx") 

⮚ Nous ouvrons le fichier du répertoire parent nommé 1.xlsx .

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

1.3 Ouvrir le classeur en lecture seule

La méthode est assez similaire à la première méthode, mais ici nous allons ouvrir le fichier en mode lecture seule, ce qui signifie que nous ne pourrons pas modifier les données ou les valeurs du fichier Excel.

Étapes

  • Le fichier que nous voulons ouvrir est enregistré dans le dossier document.
  • Et voici le fichier que nous voulons ouvrir en lecture seule.

  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si vous ne l'avez pas, vous devez... activer l'onglet Développeur Ou vous pouvez également appuyer sur ' Alt+F11 pour ouvrir l'éditeur Visual Basic.

  • Une nouvelle boîte de dialogue apparaît alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

  • Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:³Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur View Macros, sélectionnez les macros que vous venez de créer, dont le nom est le suivant Ouvrir_avec_fichier_en_lecture_unique Puis cliquez sur Exécuter .

  • Après avoir cliqué sur Exécuter nous constatons que le fichier est maintenant ouvert en lecture seule, comme l'indique la barre de titre.

🔎 Ventilation du code

 Sub Open_with_File_Read_Only() 

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Ouvrir_avec_fichier_en_lecture_unique()

 Dim wrkbk As Workbook 

⮚ Nous déclarons wrkbk comme variable dans le type de classeur

 Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) 

⮚ Le fichier s'ouvrira alors à partir du répertoire désigné, et le fichier sera paramétré. en lecture seule par le dernier argument.

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

Lire la suite : Comment ouvrir un classeur en lecture seule avec Excel VBA ?

2. utilisation de la boîte de messages

Presque comme la méthode précédente, nous pouvons ouvrir des fichiers par le biais du code VBA ici dans Excel, mais dans ce cas, nous allons incorporer une petite boîte de message ici.

Étapes

  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si vous ne l'avez pas, vous devez... activer l'onglet Développeur Ou Vous pouvez également appuyer sur ' Alt+F11' pour l'ouverture de la Éditeur Visual Basic .

  • Une nouvelle boîte de dialogue apparaîtra alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

  • Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :
 Sub Open_File_with_Messege_Box() Dim path As String : path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "The File Opened Successfully" Else MsgBox "Opening of the File Failed" End If End Sub 

  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur Voir les macros, sélectionnez les macros que vous venez de créer. Le nom est le suivant Ouvrir_Fichier_avec_Messege_Box Puis cliquez sur Exécuter .

  • Ensuite, nous avons eu la boîte d'avertissement, qui montre que Le fichier a été ouvert avec succès .
  • Cliquez ensuite sur OK .

  • Et nous verrons que le fichier est maintenant ouvert.

  • Et puis nous essayons de modifier un peu le code.
  • Nous changeons le nom du fichier en Echantillon10 et il n'y a pas de fichier nommé Echantillon10 dans le dossier des documents.

  • Alors nous Exécuter le code à nouveau, et il y a une boîte de message disant L'ouverture du dossier a échoué .
  • Cliquez sur OK après ça.

🔎 Ventilation du code

 Sub Open_File_with_Messege_Box() 

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Ouvrir_avec_fichier_en_lecture_unique()

 Dim path As String : 

⮚ Nous déclarons wrkbk comme une variable dans le type de classeur

 Si Dir(path) "" Then Workbooks.Open (path) 
 MsgBox "Le fichier a été ouvert avec succès" Else 

⮚ Cette ligne va vérifier si le fichier nommé Sample est disponible dans le répertoire ou non, Si le fichier est présent, alors il va ouvrir le fichier et en même temps afficher le message.

 MsgBox "L'ouverture du fichier a échoué". 

⮚ S'il n'y a pas de fichier nommé Echantillon dans le répertoire, alors ce message sera délivré.

 End If 

⮚ Enfin, nous terminons la sous-procédure de ce code.

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

Lire la suite : Comment ouvrir un classeur et exécuter une macro en utilisant VBA (4 exemples)

3. utilisation de la boîte de dialogue pour ouvrir un fichier

L'extraction du répertoire d'emplacement des fichiers et leur importation à chaque fois dans le code VBA est assez lourde. Pour résoudre ce problème, nous allons montrer comment vous pouvez utiliser une boîte de dialogue pour sélectionner un fichier dans n'importe quel répertoire.

Étapes

  • Maintenant, nous allons ouvrir le fichier en utilisant la boîte de dialogue de l'explorateur de fichiers.
  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si vous ne l'avez pas, vous devez... activer l'onglet Développeur Ou Vous pouvez également appuyer sur ' Alt+F11' pour l'ouverture de la Éditeur Visual Basic .

  • Une nouvelle boîte de dialogue apparaît alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

  • Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :
 Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & ; FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Filename:=File_Path) End Sub 
  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur Voir les macros, sélectionnez les macros que vous venez de créer. Le nom est le suivant Ouvrir_Fichier_avec_Dialog_Box Puis cliquez sur Exécuter .

  • Une nouvelle fenêtre s'ouvre alors. Dans la boîte de dialogue de l'explorateur de fichiers et sélectionnez Echantillon et cliquez sur OK .

  • Ensuite, le fichier nommé Echantillon ouvert.
  • Et voici comment ouvrir le classeur avec le nom de la variable en utilisant VBA dans Excel.

🔎 Ventilation du code

 Sub Open_File_with_Dialog_Box() 

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Sub Open_File_with_Dialog_Box()

 Dim Dbox As FileDialog 

⮚ Nous déclarons Dbox comme une variable dans FileDialog type

 Dim File_Path As String 

⮚ Nous déclarons Chemin_fichier comme une variable dans le Chemin_fichier Comme Chaîne de caractères type

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Choose and Open " & ; FileType 

⮚ Il y aura une boîte de dialogue dès la première ligne, la ligne suivante dénote le nom de la boîte de dialogue et le type de fichier.

Dbox.Titre définira le titre de la boîte de dialogue. et Type de fichier définir le type de fichier.

 Dbox.Filters.Clear 

⮚ Le Dbox.Filters.Clear effacera tout filtre précédent appliqué dans la boîte de diaog.

 Dbox.Show 

⮚ Le Dbox.Show fera apparaître la boîte de dialogue sur le fichier.

⮚ Cette ligne déterminera si l'utilisateur a sélectionné plus d'un fichier ou non. Si l'utilisateur sélectionne plus d'un fichier, toute la procédure s'arrêtera.

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

Lire la suite : Comment ouvrir un dossier et sélectionner un fichier en utilisant Excel VBA (4 exemples)

4. en utilisant la propriété Workbook.Add

Contrairement aux méthodes précédentes, nous allons créer un nouveau fichier Excel dans un répertoire prédéterminé, puis nous l'ouvrirons à l'aide de la fonction Cahier d'exercices. Ajouter propriété.

Étapes

  • Tout d'abord, allez sur le site Développeur et cliquez sur Visual Basic Si vous ne l'avez pas, vous devez... activer l'onglet Développeur Ou Vous pouvez également appuyer sur ' Alt+F11' pour l'ouverture de la Éditeur Visual Basic .

  • Une nouvelle boîte de dialogue apparaîtra alors. Dans cette boîte de dialogue, cliquez sur le bouton Insérer > ; Module .

Ensuite, dans le Module dans la fenêtre de l'éditeur, tapez le code suivant :

 Sub Open_File_with_Add_Property() Dim File_Path As String : File_Path = "C:³Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub 
  • Ensuite, fermez le Module fenêtre.
  • Après cela, allez à Voir tab> ; Macros .
  • Cliquez ensuite sur Afficher les macros .

  • Après avoir cliqué sur Voir les macros, sélectionnez les macros que vous venez de créer. Le nom est le suivant Ouvrir_Fichier_avec_Ajout_de_propriété Puis cliquez sur Exécuter .

  • Après avoir cliqué sur Cours, vous remarquerez qu'un nouveau fichier est maintenant créé et ouvert.

🔎 Ventilation du code

⮚ Tout d'abord, nous donnons un nom à la sous-procédure qui est . Sub Open_File_with_Add_Property()

⮚ Ensuite, nous déclarons la Chemin_fichier comme Chaîne de caractères type.

 Dim File_Path As String : File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" 

⮚ Et mettre le Chemin_fichier à l'emplacement du fichier.

 Dim wb As Workbook 

⮚ Nous déclarons wb comme une variable dans le Cahier d'exercices type.

 Set wb = Workbooks.Add(File_Path) 

⮚ Le classeur est ensuite ajouté à partir du répertoire stocké dans le fichier . Chemin_fichier à l'aide du Classeur.Ajouter propriété.

 End Sub 

⮚ Enfin, nous terminons la sous-procédure de ce code.

Lire la suite : [La méthode d'ouverture des classeurs d'objets échoue (4 solutions)

Conclusion

En résumé, la question de savoir comment ouvrir des classeurs avec des noms de variables à l'aide de VBA est traitée ici à l'aide de quatre exemples différents. Macro VBA La méthode requiert une VBA-related des connaissances pour comprendre à partir de zéro.

Pour ce problème, un cahier d'exercices avec macro est disponible au téléchargement et vous permet de mettre en pratique ces méthodes.

N'hésitez pas à poser des questions ou à faire part de vos commentaires dans la section réservée aux commentaires. Exceldemy la communauté sera très appréciée

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.