Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Shapes : "For Each Shp.." et formes modifiées manuellement plus accessibles.
    Bonsoir,

    Lorsque je fais une boucle avec le code For Each Shp In ActiveSheet.Shapes afin d'accéder à toutes les shapes présentes dans une feuille excel, celles qui ont été modifiées manuellement avec les points ne sont plus accessibles contrairement aux autres.

    Mon objectif est d'enlever les couleurs de toutes les shapes pour pouvoir imprimer plus facilement.

    Existe-t'il une solution ?, ou ces formes ne sont-elles plus accessibles une fois déformées.

    Merci par avance.

  2. #2
    Expert éminent sénior
    Citation Envoyé par zermatt Voir le message

    Bonjour,

    Sur Office 365, je n'ai pas ce problème, même avec des formes groupées.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Membre du Club
    Merci, je suis sur Office 2016, je vais vérifier sur d'autres versions, le problème vient peut-être de là.

  4. #4
    Expert éminent sénior
    Citation Envoyé par zermatt Voir le message

    Mettez un fichier en ligne avec plusieurs de vos formes avec et sans modif pour voir.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  5. #5
    Membre du Club
    Merci, pourriez-vous tester la macro dans le fichier ci-joint permettant d'afficher le nom et le contenu des formes (ici 3 incluant le bouton de la macro) dans un premier temps,
    puis de modifier un rectangle avec "clic droit - modifier les points" et de tester à nouveau la macro.

    Dans le deuxième cas la macro plante au moment de lire le contenu du rectangle déformé.

    Merci par avance pour votre aide. Le problème vient peut-être de mes connaissances rudimentaires sur le sujet ou de ma version d'office pro 2016 (windows), mais je n'en ai pas d'autres sous la main.

    edit : le fait d'ajouter un simple connecteur (ligne droite) par exemple, provoque le même arrêt de la macro.
    j'ai aussi testé sur un Macbook, même problème.


    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
     
    Sub test_shape()
     
    Dim Shp As Shape
    Dim nomRectangle As String
    Dim contenu As String
     
    For Each Shp In ActiveSheet.Shapes
     
                nomRectangle = Shp.Name
                MsgBox nomRectangle
     
                contenu = Shp.TextFrame.Characters.Text
                MsgBox contenu
     
    Next Shp
     
    End Sub

  6. #6
    Expert éminent sénior
    Citation Envoyé par zermatt Voir le message
    M
    C'est lié au type de la forme. Testez cette procédure :
    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
     
    Sub test_shape()
     
    Dim Shp As Shape
    Dim NomRectangle As String
    Dim Contenu As String
     
     
        For Each Shp In ActiveSheet.Shapes
     
            With Shp
                 NomRectangle = .Name
                 Contenu = ""
                 Select Case .Type
                        Case 1, 8
                             Contenu = .TextFrame.Characters.Text
                        Case 5
                             If .TextFrame2.HasText Then Contenu = .TextFrame2.TextRange
                 End Select
                 MsgBox "Nom : " & NomRectangle & Chr(10) & "Type : " & Shp.Type & Chr(10) & "Contenu : " & Contenu
            End With
     
        Next Shp
     
    End Sub
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  7. #7
    Membre du Club
    Merci infiniment pour la rapidité et la solution qui fait sens.
    Faire un test sur la forme est très judicieux. Bravo !

###raw>template_hook.ano_emploi###