Apparaître / Disparaître image

Théo64 -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je suis nouveau ici, et j'essaie de faire un peu de vba très très simple.
Dernièrement, je me suis amusé à insérer des images sur un document excel, et en créant deux boutons:
-L'un qui fait apparaître la première image et disparaître la deuxième image
-L'autre qui fait disparaître la première image et apparaître la première image

Pour faire cela, j'ai mis des consignes de ce type:
"ActiveSheet.Shapes("picture ??").Visible = False"
"ActiveSheet.Shapes("picture ??").Visible = False"


Cette consigne marche (je l'avais déjà utilisée sur un ancien document excel. Mais à l'époque, pour trouver le numéro de mes images, j'enregistrer une macro en sélectionnant l'image dont je voulais trouver le nom, et à ce moment là, j'allais dans le code pour voir le code créée (donc le numéro de l'image). Alors je reprenais le code écrit plus haut et je complétais les "??".

Donc ce nouveau doc, je tente de refaire la même chose, mais cela ne marche absolument pas. Quand j'enregistre une macro et que je sélectionne mon image au lieu de m'écrire quelques chose comme ça:
"Sub Macro7()
'
' Macro7 Macro
'

'
ActiveSheet.Shapes.Range(Array("Picture 31")).Select
ActiveSheet.Shapes.Range(Array("Picture 29")).Select
End Sub"



J'obtiens cela:
Sub Macro14()
'
' Macro14 Macro
'

'

End Sub


Avez-vous une idée? J'ai l'impression qu'il ne voit pas l'image... Comme si elle n'étais pas reliée au fichier excel.

Merci d'avance,

Théo





1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Sub RecupShapes()
   Dim ligne, s
   ligne = 1
   For Each s In Sheets(1).Shapes
     Cells(ligne, 1) = s.Name
     'Cells(ligne, 2) = s.TextFrame.Characters.Text
    ' Cells(ligne, 3) = s.TopLeftCell.Address
    ' Cells(ligne, 4) = s.Type
     ligne = ligne + 1
   Next s
 End Sub


Voilà
0