Visual Basic pour Application, VBA en abrégé, est une forme de Visual Basic 6 intégrée aux programmes Microsoft Office. Grâce au codage, VBA vous permet d'automatiser les tâches dans les programmes Office, y compris Excel. Dans certains cas, vous pouvez même ajouter de nouvelles fonctionnalités à Excel à l'aide de VBA.
Bien que vous deviez travailler avec du code pour utiliser VBA, cela ne signifie pas que VBA ne se compose que de lettres et de chiffres. Avec VBA dans Excel, vous pouvez créer une macro qui vous permet d'insérer des images dans une cellule ou une plage de cellules. Lisez la suite pour tout savoir !
Comment insérer une image dans une cellule à l'aide de VBA dans Excel
Afin de créer une macro pour insérer des images dans des cellules Excel à l'aide de VBA, vous n'avez en fait pas besoin de connaissances avancées en Visual Basic. Tout ce que vous avez à faire est d'activer les outils de développement, de créer la macro et de coller le bon code.
Cependant, si vous souhaitez apprendre VBA et écrire votre propre code un jour, nous avons décomposé le code VBA dans la troisième section. Bien entendu, vous pouvez également
insérer des images dans Excel sans utiliser VBA. Mais cet article concerne le fait de le faire via VBA. Nous allons passer aux choses sérieuses!Pour utiliser VBA dans Excel, vous devez activer les outils de développement dans Excel. Cela activera l'onglet Développeur dans le ruban, qui est désactivé par défaut.
- Ouvrez Excel.
- Allez à la Déposer menu.
- Cliquer sur Choix en bas de l'écran. Cela ouvrira la fenêtre Options Excel.
- Dans Options Excel, accédez au Personnaliser le ruban languette.
- Sous Onglets principaux, vérifier Développeur.
Désormais, les outils de développement, y compris l'accès à VBA, sont activés pour vous. Vous n'avez pas besoin de le faire chaque fois que vous souhaitez utiliser VBA dans Excel. Les outils de développement resteront activés jusqu'à ce que vous les désactiviez.
2. Création de la macro et insertion du code
Il est maintenant temps de passer à la création de la macro. Alternativement, vous pouvez également créer un bouton avec VBA pour cette tâche, mais nous allons nous en tenir aux macros.
- Dans Excel, accédez au Développeur languette.
- Dans le Code section, sélectionnez Macros.
- Dans la nouvelle fenêtre, entrez un nom pour votre macro sous Nom de la macro. Nous allons utiliser insérerPhotoMacro.
- Cliquez sur Créer.
Une fois que vous avez cliqué sur Créer, la fenêtre VBA s'ouvrira et affichera le code de votre macro. À l'heure actuelle, le code sera composé de deux lignes: A Sous pour lancer la macro, et un Sous-titre de fin pour en finir.
Ajoutons du code à cette macro. Ajoutez le code suivant entre les deux lignes :
Dim photoNameAndPath Comme Une variante
Photo sombre Comme Image
photoNameAndPath = Application. GetOpenFilename (Titre: ="Sélectionner Photo pourInsérer")
Si photoNameAndPath = FAUX Alors Sortie Sous
Ensemble photo = ActiveSheet. Des photos. Insérer (photoNameAndPath)
Avec photo
.Gauche = ActiveSheet. Gamme("A1").Gauche
.Haut = FeuilleActive. Gamme("A1").Haut
.Largeur = ActiveSheet. Gamme("A1").Largeur
.Height = ActiveSheet. Gamme("A1").Hauteur
.Emplacement = 1
FinAvec
Votre code final devrait être quelque chose comme ci-dessous :
Vous n'avez pas à vous soucier de sauvegarder votre progression. Chaque modification que vous apportez dans VBA est instantanément enregistrée.
Il est maintenant temps de voir le code à l'œuvre.
- Fermez la fenêtre VBA.
- Allez à la Développeur onglet dans Excel.
- Sélectionner Macros du Code section.
- Mettez en surbrillance la macro que vous venez de créer.
- Cliquez sur Courir.
Maintenant, une invite s'ouvrira vous demandant de localiser le fichier image que vous souhaitez insérer. Sélectionnez votre image puis cliquez sur Ouvrir. Vous devriez maintenant voir votre photo dans la cellule A1 !
Notez que l'image insérée est réduite pour s'adapter à la cellule A1. Vous pouvez modifier cela et également modifier le code pour insérer l'image dans d'autres cellules ou même une plage de cellules. Dans la section suivante, nous allons décomposer le code et expliquer les paramètres à l'œuvre.
3. Décomposer le code
Pour que ce code VBA fonctionne pour vous comme vous le souhaitez, vous devez le comprendre. Une fois que vous le faites, vous pouvez modifier le code pour insérer des photos dans n'importe quelle cellule de n'importe quelle taille. Nous allons parcourir le code petit à petit pour le rendre plus facile à comprendre.
Sous insertPhotoMacro()
Dim photoNameAndPath Comme Une variante
Photo sombre Comme Image
photoNameAndPath = Application. GetOpenFilename (Titre: ="Sélectionner Photo pourInsérer")
Si photoNameAndPath = FAUX Alors Sortie Sous
Ensemble photo = ActiveSheet. Des photos. Insérer (photoNameAndPath)
Avec photo
.Gauche = ActiveSheet. Gamme("A1").Gauche
.Haut = FeuilleActive. Gamme("A1").Haut
.Largeur = ActiveSheet. Gamme("A1").Largeur
.Height = ActiveSheet. Gamme("A1").Hauteur
.Emplacement = 1
FinAvec
Fin Sous
Une fois le code démarré, nous utilisons le Faible instruction pour déterminer le type de la variable. Nous avons deux variables ici: photoNameAndPath et photo lui-même. Nous avons déterminé le premier comme un Une variante et ce dernier en tant que Photo.
À partir de là, la variable photoNameAndPath s'exécute et ouvre une application pour obtenir la localisation du fichier image. Cela se fait à travers Application. GetOpenFileName. Le Titre Le paramètre est facultatif et son contenu est affiché en tant que nom de fenêtre.
En utilisant Si photoNameAndPath = False, alors quittez Sub, nous spécifions que si une adresse invalide ou vide est donnée, le processus doit être terminé. Cependant, si un fichier approprié est alimenté, alors Définir photo = ActiveSheet. Des photos. Insérer (photoNameAndPath) indique que l'image doit être définie comme la variable photo que nous avons définie précédemment et qu'elle doit être insérée dans la feuille de calcul active.
Enfin en utilisant Avec photos et les cinq lignes qui la suivent, nous expliquons le positionnement de l'image. .Gauche et .Haut indiquer les points de départ, tandis que .Largeur et .Hauteur indiquer les emplacements finaux. Si vous cherchez à insérer l'image dans d'autres cellules ou dans une plage, ce sont les lignes que vous devez modifier.
.Placement indique si l'image doit être dimensionnée avec les cellules ou insérée sous forme libre. Le mettre à 1 va le dimensionner avec les cellules.
En définitive, nous utilisons Terminer par et puis Sous-titre de fin pour fermer la macro. Notez que vous pouvez modifier le photoNameAndPath et photo variables à n'importe quel autre nom que vous aimez. N'oubliez pas de garder les noms cohérents tout au long du code.
Faites-en plus dans Excel avec VBA
Excel est en effet un outil formidable pour organiser et analyser des données, mais cela ne signifie pas qu'Excel est incompétent en matière de graphiques. Bien que les photos et les bitmaps ne soient pas le point fort d'Excel, Excel est toujours parfaitement capable de les gérer.
Bien que vous puissiez insérer des images dans Excel à l'aide de l'interface comme vous le feriez dans d'autres applications Office, vous pouvez également le faire à l'aide de VBA. Avec VBA, vous pouvez automatiser cette tâche et même la coupler avec d'autres tâches pour qu'elles s'exécutent simultanément. Les possibilités avec VBA dans Excel sont infinies.