Boutons activex qui disparaissent

Bonjour

Je suis dans la construction d'un programme sport pour un club de ma commune .

Sur une feuille j'ai un bouton avec une macro pour effacer 3 plages.

Cela fonctionne presque bien, pourquoi presque ,tout simplement quand je déclenche la macro avec le bouton, les autres boutons qui sont

sur la feuille disparaissent le temps de l’exécution de cette macro, puis reviennent a la fin de l’exécution.

Si vous avez une idée pour résoudre ce problème ,je suis preneur

Je vous remercie

je vous met la macro

Sub EffacerValeursSansFormulesMultiplePartie1()
    Dim ws As Worksheet
    On Error Resume Next
    Set ws = Worksheets("Partie 1")
   ' On Error GoTo
    If ws Is Nothing Then
        MsgBox "La feuille 'Partie 1' n'existe pas.", vbCritical
        Exit Sub
    End If

    ws.Unprotect "joco"

    Dim btn As OLEObject
    For Each btn In ws.OLEObjects
        btn.Visible = True
    Next btn

    Application.EnableEvents = False
    Application.ScreenUpdating = False

    Dim plages As Variant
    Dim plage As Range
    Dim cellule As Range
    Dim i As Long

    plages = Array("C3:H46", "J3:J72")

    For i = LBound(plages) To UBound(plages)
        Set plage = ws.Range(plages(i))

        For Each cellule In plage
            If Not cellule.HasFormula Then
                cellule.ClearContents
            End If
        Next cellule
    Next i

    Application.ScreenUpdating = True
    Application.EnableEvents = True

    ws.Calculate

    ws.Protect "joco"
    MsgBox "Les valeurs ont été effacées sans supprimer les formules dans toutes les plages spécifiées."
End Sub

Bonjour,

Sans voir le fichier ....

Peut-être que je dis une "connerie" mais ce ne serait l'instruction Screenupdating qui vous joue des tours ?....

Rem : Cela n'a rien avoir avec votre souci mais j'éviterais d'utiliser "Cellule" comme nom de variable sachant que Cellule fait partie des formules Excel.

Cordialement

bonjour dan, joco7918

un essai

Sub EffacerValeursSansFormulesMultiplePartie1()
     Dim ws As Worksheet, btn As OLEObject
     Dim Plages: Plages = Array("C3:H46", "J3:J72")

     Application.ScreenUpdating = False
     On Error Resume Next
     Set ws = Worksheets("Partie 1")

     If ws Is Nothing Then
          MsgBox "La feuille 'Partie 1' n'existe pas.", vbCritical
     Else
          ws.Unprotect "joco"

          For Each btn In ws.OLEObjects
               btn.Visible = True
          Next btn

          Application.EnableEvents = False
          ws.Range(Join(Plages, ",")).SpecialCells(xlCellTypeConstants).ClearContents
          Application.EnableEvents = True
          ws.Calculate

          ws.Protect "joco"
          MsgBox "Les valeurs ont été effacées sans supprimer les formules dans toutes les plages spécifiées."
     End If

     On Error GoTo 0
     Application.ScreenUpdating = True
End Sub
Rechercher des sujets similaires à "boutons activex qui disparaissent"