Insert image via VBA : donner un nom figé

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Je sais faire pour insérer les graphiques auto par VBA mais pas pour les images
j'ai mes fiches identité , ou s'insère via un USF une photo ( type Image)
J'ai donc une feuille "squelette" ou à chaque fois : j'efface / j'insère etc..
Pour parfaire ... j'aurai aimé comme j'avais pu le faire avec les Graphes , qui s'incrémentaient malgré l'effaçage
( graph1256 ..) , avoir GRAPH1 tout le temps

En gros ce serait de faire Idem avec "Image" et d'initialiser les noms , je pense ... avoir Toujours : de 1 à 4 ( 1 et 2 pour l'USF et donc 3 et 4 pour la feuille à imprimer) ?
Pour mettre dans l'USF :
Code:
Image1.Picture = LoadPicture(N_ph)
Pour mettre dans la feuille :
Code:
Cells(14, 3).Select
  With ActiveSheet.Pictures.Insert(N_ph)
 

denis

XLDnaute Nouveau
Re : Insert image via VBA : donner un nom figé

Moi pas comprendre la problématique :rolleyes:
Combien de graphes existent-ils en même temps sur une feuille? 1 seule, qui est remplacée, c'est bien cela? Si oui, alors il suffit de faire
Worksheets("machin").ChartObjects(1).Activate ("activita", ou autre methode, à votre gout.) et faire ce qu'on veut avec.

La solution me parait trop simple, je m'excuse si j'ai mal compris et/ou ne vois pas un problème caché..
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : Insert image via VBA : donner un nom figé

Bonsoir
en VBA , il y a des collections d'objets : bouton ; case , box Etc
Tout ceux ci ont des noms dans le code ex: Commandbutton 1 ..2 , 3, ...etc
Combien de graphes existent-ils en même temps sur une feuille?
?? , j'en ai parlé pour Comparer en exemple
Pour les formes c'est idem : Graph1, puis 2 , ...3 Par contre je savais garder A chaque fois GRAPH1
Je cherche à faire pareil mais je ne sais pas comment pour les IMAGES ? ; Là j'ai IMAGE 25 et 26 , à la prochaine utilisation j'aurai 27 et 28 ..etc !!!
 

job75

XLDnaute Barbatruc
Re : Insert image via VBA : donner un nom figé

Bonsoir herve62, denis,

S'il s'agit de renommer toutes les images (Pictures) de la feuille active :

Code:
Sub RenommerImages()
Dim p As Object, n&
ActiveCell.Activate
For Each p In ActiveSheet.Pictures
  n = n + 1
  p.Name = "µ" & n 'nom provisoire
Next
n = 0
For Each p In ActiveSheet.Pictures
  n = n + 1
  p.Name = "Image" & n 'nom définitif
Next
End Sub
A+
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : Insert image via VBA : donner un nom figé

Bonjour
Je n'y arrive pas trop ! ( interprétation avec mon code)
Code:
ActiveSheet.Pictures.Delete
  Cells(14, 3).Select
  With ActiveSheet.Pictures.Insert(N_ph)
       .Top = Cells(14, 3).Top
      .Left = Cells(14, 3).Left
      'ici tu peux préciser la taille
      .Width = 200
      .Height = 200
   End With
Donc en ce moment j'ai les noms comme dans le petit .doc joint de 19 > à 21 car il y a 2 images par fiche
Quand je relancerai , ce sera 23 donc peut on avoir tout Bêtement : Identité ( par exemple)

Dans mon fichier avec les graphes j'avais fait :
Code:
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graph"
    ActiveSheet.ChartObjects(ActiveChart.Parent.Name).Name = "Graph_1"
j'affichais des Stat /mois : à chaque changement > Efface le nouveau s'appelle toujours "Graph_1"
 

Pièces jointes

  • N _Image.docx
    30.6 KB · Affichages: 57

Statistiques des forums

Discussions
311 720
Messages
2 081 904
Membres
101 834
dernier inscrit
Jeremy06510