Récupération valeurs contenues dans shapes - ovales - ellipses

JclSimon

XLDnaute Nouveau
Bonjour à chacune et à chacun!

Je reçois un fichier (excel 2003) avec des chiffres contenus dans des formes.
Je souhaiterais transformer ce fichier de façon à le rendre disponible rapidement pour d'autres tâches.

A ce stade je joins un fichier sur lequel se trouve un extrait du fichier reçu et un extrait du fichier souhaité après traitement.

Merci.

JclSimon

PS. le fichier joint a été résumé à son minimum.
 

Pièces jointes

  • TEST_07B SV01122010 .xls
    45 KB · Affichages: 120

pierrejean

XLDnaute Barbatruc
Re : Récupération valeurs contenues dans shapes - ovales - ellipses

Bonjour JclSimon

Teste cette macro

VB:
Sub test()
Dim laShape As Shape    
    'boucler sur toutes les formes de la feuille
    For Each laShape In ActiveSheet.Shapes
        'si la forme est de type "ellipse"
        If InStr(laShape.Name, "Oval") <> 0 And laShape.Height > 0.1 Then
          MsgBox (laShape.Name)
            'écrire dans la cellule (décalée de 2 lignes et -2 colonnes par rapport à l'ellipse) la valeur saisie dans l'ellipse
            laShape.TopLeftCell.Offset(2, 0).Value = laShape.TextFrame2.TextRange.Characters
            'effacer l'élipse
            laShape.Delete
        End If
    Next laShape
End Sub

Elle repond presque a ta demande
En effet elle conserve plusieurs shapes dont la hauteur est nulle de sorte qu'on ne les voit que sous forme de trait
Si tu souhaites les supprimer aussi reviens nous le dire
 

JclSimon

XLDnaute Nouveau
Re : Récupération valeurs contenues dans shapes - ovales - ellipses

Pierrejean bonjour et merci pour Ta réponse.

Équipé en 2003 et Toi en 2007 peut-il être à l'origine de :

-"Erreur d'exéction 438"
Propriété ou méthode non géré par cet objet
et afficher la ligne suivante?

laShape.TopLeftCell.Offset(2, 0).Value = laShape.TextFrame2.TextRange

Merci à l'avance!

Jean Claude
 

pierrejean

XLDnaute Barbatruc
Re : Récupération valeurs contenues dans shapes - ovales - ellipses

Re

Version XL 2000

VB:
Sub test()
Dim laShape As Shape
    'boucler sur toutes les formes de la feuille
    For Each laShape In ActiveSheet.Shapes
        'si la forme est de type "ellipse"
        If InStr(laShape.Name, "Oval") <> 0 And laShape.Height > 0.1 Then
            'écrire dans la cellule (décalée de 2 lignes et -2 colonnes par rapport à l'ellipse) la valeur saisie dans l'ellipse
            'laShape.TopLeftCell.Offset(2, 0).Value = laShape.TextFrame2.TextRange.Characters
            laShape.Select
            laShape.TopLeftCell.Offset(2, 0).Value = Selection.Characters.Text
            'effacer l'élipse
            laShape.Delete
        End If
    Next laShape
End Sub
 

JclSimon

XLDnaute Nouveau
Re : Récupération valeurs contenues dans shapes - ovales - ellipses

PierreJean bonjour!
:)
Que dire................?:)

Je te remercie très sincèrement.:)

Pour moi réponse positive.

Merci!

Jclsimon

Ps. Si tu le désires je te ferai parvenir par mail l'utilisation finale
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 554
dernier inscrit
Tchana Yoba