bonjour

J'ai rédigé un tutoriel pour décrire l'objet feuille de calcul, ainsi que ses différentes propriétés et méthodes:

http://silkyroad.developpez.com/VBA/FeuilleDeCalcul/

Dans ce cadre, l'objet Pictures me pose un cas de conscience:
J'utilise régulièrement cet objet mais l'aide Excel indique qu'il s'agit d'un élémént masqué.

Ma question est donc: pourquoi cet élément est il masqué?
Est ce qu'il existe uniquement pour une compatibilité avec des versions Excel antérieures?

L'objectif de cette question est de savoir s'il est souhaitable de continuer à utiliser l'objet Pictures, ou s'il est préférable d'utiliser l'objet Shapes (msoPicture):

http://silkyroad.developpez.com/VBA/...lcul/#LII-B-38


Toutes vos informations à ce sujet sont les bienvenues.




Est ce qu'une âme charitable pourrait aussi tester les 2 procédures suivantes dans Excel2003, et éventuellement 2007 si cela est possible. (En ce qui me concerne j'ai désinstallé Office2007 car cela me posait malheureusement de gros soucis dans Outlook)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
'Insère une image dans la feuille de calcul
Worksheets("Feuil1").Pictures.Insert "C:\dossier\Image2.jpg"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'Boucler sur toutes les images contenues dans la feuille afin de les 
'enregistrer sur le disque:
 
Sub ExtraireImagesFeuille()
    Dim Pict As Picture
    Dim Nb As Byte
 
    Application.ScreenUpdating = False
 
    ' boucle sur les images de la feuille
    For Each Pict In Worksheets("Feuil1").Pictures
        'copie image
        Pict.CopyPicture
 
        'crée un graphique
        With ActiveSheet.ChartObjects.Add(0, 0, Pict.Width, Pict.Height).Chart
            'colle l'image dans graphique
            .Paste
            'enregistre le graphique au format gif
            .Export ThisWorkbook.Path & "\" & Pict.Name & ".gif", "GIF"
        End With
 
        Nb = ActiveSheet.ChartObjects.Count
        'supprime le graphique
        ActiveSheet.ChartObjects(Nb).Delete
    Next Pict
 
    Application.ScreenUpdating = True
End Sub

Nota:
Il est possible que la méthode Export ne fonctionne plus si Excel2007 a été installé sur votre poste ....



bonne journée
michel