Comment insérer une image dans une cellule en utilisant VBA dans Excel

Vous pouvez facilement insérer des images dans des feuilles de calcul Excel et les modifier avec du code macro. Voici comment insérer une image dans une cellule à l'aide de VBA dans Excel .

Comment insérer une image dans une cellule en utilisant VBA dans Excel

Visual Basic pour Applications, en abrégé VBA, 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 applications Office, notamment Excel. Dans certains cas, vous pouvez même ajouter de nouvelles fonctionnalités à Excel à l'aide de VBA.

Même si vous devez travailler avec du code pour utiliser VBA, cela ne signifie pas que VBA regorge de lettres et de chiffres. Avec VBA dans Excel, vous pouvez créer une macro qui vous permet d'insérer une image dans une cellule ou une plage de cellules. Voici ce que vous devez savoir sur l'insertion d'images dans des cellules dans Excel à l'aide de VBA.

Comment insérer des images dans des cellules à l'aide de VBA dans Excel

Pour créer une macro qui insère une image dans une cellule Excel à l'aide de VBA, vous n'avez vraiment 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 une macro et de coller le code approprié. Bien entendu, vous pouvez également insérer des images dans Excel sans utiliser VBA. Cependant, dans cet article, nous nous concentrerons sur VBA.

1. Activez les outils de développement

Pour utiliser VBA dans Excel, vous devez activer les outils de développement. Cette action activera l'onglet Développeur dans le ruban, qui est désactivé par défaut.

  1. Ouvrez Excel .
  2. Allez dans le menu Fichier .
  3. Cliquez sur Options en bas de l'écran. La fenêtre Options Excel apparaîtra.
  4. Dans les options Excel, accédez à l' onglet Personnaliser le ruban .
  5. Dans les onglets principaux , cochez Developer .

Comment insérer une image dans une cellule en utilisant VBA dans Excel

Les outils de développement, y compris l'accès VBA, sont désormais activés. Vous n'avez pas besoin de le faire à chaque fois que vous souhaitez utiliser VBA dans Excel. Les outils de développement seront toujours activés jusqu'à ce que vous les désactiviez.

2. Créez des macros et insérez du code

  1. Dans Excel, accédez à l' onglet Développeur .
  2. Dans la section Code, sélectionnez Macros .
  3. Dans la nouvelle fenêtre, entrez le nom de votre macro dans Nom de la macro . L'article utilisera insertPhotoMacro .
  4. Cliquez sur Créer .

Comment insérer une image dans une cellule en utilisant VBA dans Excel

Après avoir cliqué sur Créer, la fenêtre VBA s'ouvrira et affichera le code de votre macro. Actuellement, le code sera composé de 2 lignes : un Sub pour démarrer la macro et un End Sub pour y mettre fin.

Comment insérer une image dans une cellule en utilisant VBA dans Excel

Ajoutez un peu de code à cette macro. Ajoutez la ligne de code suivante entre les deux lignes :

Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With

Le code final ressemblera à ceci :

Comment insérer une image dans une cellule en utilisant VBA dans Excel

Vous n'avez pas à vous soucier de sauvegarder ce processus. Toutes les modifications que vous apportez dans VBA sont enregistrées immédiatement.

Il est maintenant temps de voir le code en action :

  1. Fermez la fenêtre VBA.
  2. Accédez à l' onglet Développeur dans Excel.
  3. Sélectionnez Macros dans la section Code.
  4. Mettez en surbrillance la macro que vous venez de créer.
  5. Cliquez sur Exécuter .

Maintenant, un message s'ouvrira vous demandant de localiser le fichier image que vous souhaitez insérer. Sélectionnez la photo, puis cliquez sur Ouvrir. Vous verrez maintenant l'image dans la cellule A1.

Notez qu'Excel réduira l'image pour qu'elle tienne dans la cellule A1. Vous pouvez le modifier et modifier le code pour insérer des images dans d'autres cellules, même dans une plage de cellules. Dans la section suivante, nous séparerons le code et expliquerons les paramètres.

3. Diviser le code

Pour que le code VBA fonctionne comme vous le souhaitez, vous devez le comprendre. Ce faisant, vous pouvez modifier le code pour insérer des images dans n'importe quelle cellule, quelle que soit sa taille.

Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub

Lorsque le code commence, l'instruction Dim est utilisée pour déterminer le type de variable. Nous avons deux types de variables : photoNameAndPath et photo . D'abord la variable, puis l'image.

À partir de là, la variable photoNameAndPath s'exécute et ouvrira une application pour obtenir l'emplacement du fichier photo. Cela se fait via Application.GetOpenFileName . Le paramètre Titre est facultatif. Le contenu qu'il contient est affiché sous forme de nom de fenêtre.

En utilisant If photoNameAndPath = False Then Exit Sub , si une adresse invalide ou vide est donnée, le processus se terminera. Cependant, si un fichier approprié est fourni, Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) indique que l'image doit être définie en tant que variable telle que définie à l'origine. Il sera inséré dans la feuille de calcul active.

Enfin, utilisez Avec photo et les 5 lignes qui suivent pour déterminer l'emplacement de la photo. .Left et .Top font référence à la position de départ, tandis que .Width et .Height font référence à la position finale. Si vous avez l'intention d'insérer des images dans une autre cellule ou une plage, ce sont ces lignes que vous devez modifier.

.Placement indique que l'image doit être redimensionnée pour s'adapter à la cellule ou à la forme libre insérée. Le définir sur 1 le redimensionnera en fonction de la cellule.

Enfin, le code ci-dessus utilise End With , puis End Sub pour fermer la macro. Vous pouvez maintenant modifier les variables photoNameAndPath et photo par n'importe quel autre nom de votre choix. N'oubliez pas de garder les noms cohérents dans tout le code.

Ci-dessus, comment utiliser VBA pour insérer des images dans des cellules dans Excel . J'espère que l'article vous sera utile.

Laisser un commentaire

Bloquez les impressions et les téléchargements indésirables dans ONLYOFFICE

Bloquez les impressions et les téléchargements indésirables dans ONLYOFFICE

Définissez des limites d'impression et de téléchargement pour les liens ONLYOFFICE, les membres d'une salle ou les sessions de l'API Docs, puis vérifiez les restrictions à partir d'un compte destinataire.

Planifiez des sauvegardes fiables pour votre espace de travail ONLYOFFICE.

Planifiez des sauvegardes fiables pour votre espace de travail ONLYOFFICE.

Définissez une destination de sauvegarde, une planification, une couverture de messagerie et une limite de conservation dans ONLYOFFICE Workspace, puis vérifiez que l'archive est prête à être restaurée.

Déployez ONLYOFFICE Docs Enterprise avec son fichier de composition officiel

Déployez ONLYOFFICE Docs Enterprise avec son fichier de composition officiel

Démarrez la pile Docker Compose d'entreprise, enregistrez sa licence et ses données, configurez JWT en toute sécurité et vérifiez que les éditeurs sont prêts à s'intégrer.

Nettoyez le texte de votre feuille de calcul avec une macro ONLYOFFICE réutilisable.

Nettoyez le texte de votre feuille de calcul avec une macro ONLYOFFICE réutilisable.

Utilisez une macro JavaScript ONLYOFFICE pour supprimer les caractères non imprimables et les espaces superflus d'une plage de feuille de calcul définie, avec un flux de travail de révision sécurisé.

Modifier l'emplacement de stockage par défaut de l'espace de travail ONLYOFFICE

Modifier l'emplacement de stockage par défaut de l'espace de travail ONLYOFFICE

Déplacez les données du portail depuis le disque par défaut vers un fournisseur de stockage cloud compatible, ou déplacez les données Docker en toute sécurité en modifiant leur mappage de volume hôte.

Supprimez complètement le serveur de documents ONLYOFFICE de Linux.

Supprimez complètement le serveur de documents ONLYOFFICE de Linux.

Identifiez si Document Server utilise un package Linux ou Docker, supprimez uniquement ses composants et vérifiez les données restantes sans supprimer par erreur les services partagés.

Réduisez les délais de coédition sur ONLYOFFICE en identifiant le goulot d'étranglement.

Réduisez les délais de coédition sur ONLYOFFICE en identifiant le goulot d'étranglement.

Identifiez les ralentissements de l'édition collaborative en fonction de la pression sur les ressources Docker, des connexions proxy ou de la charge des documents, puis choisissez la solution qui correspond à vos mesures.

Configurer HTTPS pour ONLYOFFICE Docs dans Docker

Configurer HTTPS pour ONLYOFFICE Docs dans Docker

Choisissez où le protocole TLS doit se terminer, montez un certificat et une clé privée de confiance en toute sécurité et vérifiez l'accès HTTPS à un serveur ONLYOFFICE Docs conteneurisé.

Connectez une application PHP à ONLYOFFICE Docs et enregistrez les modifications.

Connectez une application PHP à ONLYOFFICE Docs et enregistrez les modifications.

Intégrez l'éditeur ONLYOFFICE dans votre application PHP, signez sa configuration avec JWT et enregistrez les fichiers modifiés via une fonction de rappel sécurisée.

Conservez la vérification orthographique ONLYOFFICE sur la langue de votre choix

Conservez la vérification orthographique ONLYOFFICE sur la langue de votre choix

Définissez la langue de correction pour l'ensemble du document ou pour un texte sélectionné, vérifiez que la correction orthographique est activée et identifiez les cas où un dictionnaire serveur est manquant.