Besoin d'aide macro exel

Résolu
Bonjour, j'aurai besoin d'un peut d'aide pour une partie de ma macro voila sur une feuille d'un classeur, je possede un controle bouton (celui qui lance la macro), une image, une elipse et une fleche( des formes automatiques) ce que je souhaite faire c'est que lorsque je clique sur le bouton tout s'efface sauf l'image et le bouton j'ai trouver pour la suppression mais le pb c'est que sa m'efface tout y compris le bouton et l'image donc si vous pouviez m'aider sa serai gentil

merci d'avance

2 réponses

  1. Modérateur
    Bonjour,
    Pour avoir une réponse plus rapide et surtout plus efficace, merci de nous communiquer le code que vous avez déjà écrit.
    Merci.
    0
    1. bonjour, en faite le contenue de la macro n'apportera aucune aide vu que le reste de la macro n'a aucun rapport avec ce que je souhaite faire mais bon voici toujours le code que j'ai :

      Dim NewOnglet
      Dim Sh As Shape

      Range("B2:J101").Select
      Selection.Copy
      Sheets("imprimé_Int.Exp.").Select
      ActiveWindow.SmallScroll Down:=-105
      Range("A1").Select
      Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
      xlNone, SkipBlanks:=False, Transpose:=False
      Range("K22").Select

      NewOnglet = Sheets("création feuille I.E.").Range("F3").Value
      Sheets("imprimé_Int.Exp.").Copy After:=Sheets(Sheets.Count)
      Sheets(Sheets.Count).Name = NewOnglet
      Sheets(Sheets.Count).Tab.ColorIndex = 2
      NewOnglet = ""

      For Each Sh In ActiveSheet.Shapes
      Sh.Delete
      Next

      la boucle precedente j'en ai conscience supprime toute les formes de la feuille mais je n'ai aucune idée de comment faire pour supprimer tout sauf le bouton declenchant ma macro et l'image

      voila esperant que sa t'eclaire un peut
      0
      1. Modérateur
        Alors voilà ma solution :
        Au préalable, il faut récupérer le nom de tes "shapes" bouton et image, ceux que tu désires conserver.
        Pour ceci, lance cette macro et note les noms concernés :
        Sub test()
        Dim Sh As Shape
        
        For Each Sh In ActiveSheet.Shapes
        MsgBox Sh.Name
        Next
        
        End Sub

        Ensuite, remplace dans ce code Butt et Pict par les noms que tu as noté et teste ce code :
        Sub Supprime()
        Dim Sh As Shape
        Dim NomSh As String
        For Each Sh In ActiveSheet.Shapes
        NomSh = Sh.Name
            If NomSh <> "Butt" Then
                    If NomSh <> "Pict" Then
                        Sh.Delete
                    End If
            End If
        Next
        End Sub

        Si cela te convient ne restera qu'à adapter ce code au tien, comme ceci :
        Dim NewOnglet 
        Dim Sh As Shape 
        Dim NomSh As String
        
        Range("B2:J101").Select 
        Selection.Copy 
        Sheets("imprimé_Int.Exp.").Select 
        ActiveWindow.SmallScroll Down:=-105 
        Range("A1").Select 
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ 
        xlNone, SkipBlanks:=False, Transpose:=False 
        Range("K22").Select 
        
        NewOnglet = Sheets("création feuille I.E.").Range("F3").Value 
        Sheets("imprimé_Int.Exp.").Copy After:=Sheets(Sheets.Count) 
        Sheets(Sheets.Count).Name = NewOnglet 
        Sheets(Sheets.Count).Tab.ColorIndex = 2 
        NewOnglet = "" 
        
        For Each Sh In ActiveSheet.Shapes
        NomSh = Sh.Name
            If NomSh <> "Butt" Then
                    If NomSh <> "Pict" Then
                        Sh.Delete
                    End If
            End If
        Next
        

        N'hésite pas à revenir en cas de besoin...
        0
      2. ok merci je test cela dés que possible et je te tient au courrant
        0
      3. c'est bon ton code marche impec j'ai juste rajouter une boucle qui incremente les valeurs des nom button et image par exemple button 1,2,3 etc sinon il supprimais tout aussi encore merci
        0