Effacer un dessin

Résolu
simkmil Messages postés 505 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
sur une feuille, j'ai dessiné un rectangle de D4 à Q26
Dans ce rectangle, je fais un dessin (une signature!)
Avec un bouton, je voudrais l'effacer (afin de passer à la suivante ...)
J'ai fais le code suivant :
Range("D4:Q26").Select
Selection.ClearContents
ActiveSheet.Shapes.Range(Array("Freeform 3")).Select
Selection.Delete
Mais cela cale au niveau de "Freeform3" qui je suppose change à chaque fois!
que pourrais-je faire ?
Merci de votre aide.

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    tu n'as aucun autre code lié à ce dessin?
    peux-tu partager ton fichier?
    0
  2. simkmil Messages postés 505 Date d'inscription   Statut Membre Dernière intervention   35
     
    Merci, non rien d'autre lié à ce dessin. Je t'envoie mon fichier.

    https://www.cjoint.com/c/KBtrtvvuW1S

    il est complet avec tout ce que tu m'as déjà appris jusqu'à présent.

    merci beaucoup.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      suggestion:
      Sub Oter_signature()
      '
      ' Oter_signature Macro
      Worksheets("Signature").Shapes("Forme libre : forme 1").Delete
      End Sub
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        je pense que le soucis vient de la méthode que tu utilises pour ajouter dans Excel le dessin à partir de la tablette. je ne vois pas comment modifier cette méthode pour contrôler le nom du dessin créé.
        je propose plutôt ceci, qui va supprimer tous les dessins de la feuille Signature:
        Sub Oter_signature()
        '
        ' Oter_signature Macro
        '
        Dim sh As Shape
        For Each sh In Worksheets("Signature").Shapes
            If sh.Type = msoFreeform Then
                sh.Delete
            End If
        Next sh
        End Sub
        0
      2. simkmil Messages postés 505 Date d'inscription   Statut Membre Dernière intervention   35 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci beaucoup, super !! ça fonctionne.
        Impeccable. Merci encore
        grâce à toi, j'avance vraiment bien sur ce projet.
        0
  3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    peux-tu alors marquer la discussion comme résolue?
    0