Problème de stockage d'une image sur excel à parti
Résolu2 réponses
Le problème porte sur le stockage d'une image importée via un userform dans une cellule d'Excel en utilisant VBA, avec des complications liées à la gestion des variables et de l'exécution des boutons. La solution essentielle consiste à déclarer une variable publique, par exemple dans Module1, comme image ou Variant, afin de conserver l'image entre les procédures qui manipulent l'image. En complément, l'utilisation d'Option Explicit et de messages d'erreur clairs permet d'identifier rapidement les lignes problématiques et d'éviter les tests avec des expressions non reconnues comme Active. D'autres éléments utiles apparaissent, comme le fait que les boutons nommés exécutent les procédures correspondantes et que la suppression des tests avec =Active évite des erreurs d'exécution.
-
Bonjour,
Impossible de "stocker" une image dans une cellule, li faut passer par une Shape
ce code devrait vous aider
Sub Insert_img() ActiveSheet.Pictures.Insert("Chemin et nom du fichier image").Select With Selection.ShapeRange .Left = ActiveCell.Left .Top = ActiveCell.Top End With End Sub-
-
-
Contributeur@nouhaaa1995exemple avec une image non précisée et une cellule précisée:
Option Explicit Sub insertimage() Dim pct As Picture, image As String image = Application.GetOpenFilename() Set pct = ActiveSheet.Pictures.Insert(image) pct.ShapeRange.Left = Cells(8, 8).Left pct.ShapeRange.Top = Cells(8, 8).Top pct.ShapeRange.Width = Cells(8, 8).Width pct.ShapeRange.Height = Cells(8, 8).Height End Sub
-
-
Contributeur@nouhaaa1995l'erreur est-elle secrète? ou bien l'as-tu corrigée?
-
-
Contributeurpeux-tu expliquer ton contexte, pour que nous puissions mieux t'aider? qui a écris le code que tu utilises? pourquoi veux-tu le modifier? quelle est ton expérience en VBA?
-
-
j'ai un classeur à remplir avec des données, et pour automatiser cette opération j'ai crée un userform, parmi ces données il y a des images qui doivent être importé de l'ordi
et l'enregistrement de tous ces données doit être chargées sur une même ligne.
c'est pour cela l'enegistrement de ces données s'effectue par un command button pour éviter le décalage -
-
Contributeur@nouhaaa1995super! peux-tu marquer comme résolu, via la roue dentée à droite du titre?
-