Valeur tapée en dehors des limites

Bonjour

J'ai fait ce petit programme dans le cadre du travail

Vous y trouverez un bouton qui enregistre imprime et efface les données sur chaque feuille sauf le menu

Quand je clique sur le bouton de la feuille "ICL OUVRIERS TP", il me met le message suivant "Valeur tapée en dehors des limites"

Voici ma VBA :

Sub SaveFeuilleActive()
Dim Sh As Shape
     ActiveSheet.Copy
     'Affiche la boîte de dialogue
     Application.Dialogs(xlDialogSaveAs).Show
     ActiveSheet.PrintOut
    For Each Sh In ActiveSheet.Shapes
     If Sh.Name Like "Button*" Then Sh.Delete
    Next Sh
     ActiveWorkbook.Save
     ActiveWorkbook.Close
     Select Case ActiveSheet.Name
     Case "ICL Cadres Métallurgie"
         Range("B1:B4,B6,B9,B10,B13,E3:E14,B40,B42").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Etam Ouvriers Métallurgie"
         Range("B1:B6,B9,B10,B13,E3:E14,B35,B37").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Ouvriers TP", "ICL Ouvriers Bâtiment"
         Range("B1:B4,B6,B9,B10,B13,E3:E15,B36,B38").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Cadres Intermittents", "ICL Non Cadres Intermittents"
         Range("B1:B4,B6,B9,B10,B14,E3:E14,B31,B33").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL IAC Bâtiment", "ICL Etam Bâtiment", "ICL IAC TP", "ICL ETAM TP"
         Range("B1:B4,B6,B9,B10,B13,F3:F15,E14,B38,B40").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite IAC TP", "Ind Retraite IAC Bâtiment", "Ind Retraite ETAM TP", "Ind Retraite ETAM Bâtiment"
         Range("B1:B4,B6,B9,B10,F3:F14,E14").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite Métallurgie", "Ind Retraite Intermittents"
         Range("B1:B6,B9,B10,F3:F14").ClearContents
         MsgBox "les données sont effacées"
      Case "Ind Retraite SYNTEC"
         Range("B1:B6,B9,B10,E14,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL CADRES SYNTEC"
         Range("B1:B4,B6,B9,B10,B14,B31,B33,E3:E14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL ETAM SYNTEC"
         Range("B1:B4,B6,B9,B10,B13,B34,B36,E14,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Exploit. Forest."
         Range("B1:B6,B9,B10,B14,B31,B33,E3:E14").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite Exploit."
         Range("B1:B6,B9,B10,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     End Select
     Sheets("Menu").Select
     Range("A1:L1").Select
 End Sub

Si je clique sur le même bouton de la feuille "ICL IAC TP", je n'ai pas de débogage.

Vous trouverez mon fichier ici :

Mot de passe pour débloquer les feuilles : rupture 2012

Je vous remercie pour l'aide que vous pourrez m'apporter

Cdt

Bonjour,

Un fichier serait très utile pour une aide du forum

Cdlt

Bonjour et merci de votre réponse

Je souhaitais envoyer le fichier et le forum ne me l'a pas pris en compte

Je m'apprêter à envoyer un message à l'administrateur

Y aurait il un autre moyen pour vous envoyer le fichier

Cdt

Bonjour,

Ton fichier doit être supérieur à 300ko.

Tu peux le compresser et voir sa taille. Et refaire l'opération dans l'affirmative.

Dans la négative un lien et tu suis les consignes

http://cjoint.com/

Merci pour léa réponse

J'ai corrigé mon message d'origine en y insérant le fichier

Merci de votre aide

Cdt

Bonjour,

Ci-dessous les éléments de code à modifier dans ta procédure.

nb : j'ai tout d'abord mis "On error resume next" pour éviter un message d'erreur avant de déprotéger la feuille. Il est possible que le "On resume next & on error goto 0"ne soient pas nécessaire.

Cdlt

Sub SaveFeuilleActive()
Dim Sh As Shape
    ActiveSheet.Unprotect "rupture2012"
    ActiveSheet.Copy
    'Affiche la boîte de dialogue
    Application.Dialogs(xlDialogSaveAs).Show
    'ActiveSheet.PrintOut
   On Error Resume Next
        For Each Sh In ActiveSheet.Shapes
            If Sh.Name Like "Button*" Then Sh.Delete
        Next Sh
    On Error GoTo 0
    ActiveSheet.Protect Password:="rupture2012"
    ActiveWorkbook.Save
    ActiveWorkbook.Close

Merci beaucoup

Effectivement, le "On resume next & on error goto 0"n'est pas nécessaire.

Par contre, sur la feuille enregistrée, les boutons restent. Comment puis-je les enlever?

Sub SaveFeuilleActive()
Dim Sh As Shape
     ActiveSheet.Unprotect "rupture2012"
     ActiveSheet.Copy
     'Affiche la boîte de dialogue
     Application.Dialogs(xlDialogSaveAs).Show
     ActiveSheet.PrintOut
     For Each Sh In ActiveSheet.Shapes
     If Sh.Name Like "Button*" Then Sh.Delete
    Next Sh
     ActiveSheet.Protect Password:="rupture2012"
     ActiveWorkbook.Save
     ActiveWorkbook.Close
     Select Case ActiveSheet.Name
     Case "ICL Cadres Métallurgie"
         Range("B1:B4,B6,B9,B10,B13,E3:E14,B40,B42").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Etam Ouvriers Métallurgie"
         Range("B1:B6,B9,B10,B13,E3:E14,B35,B37").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Ouvriers TP", "ICL Ouvriers Bâtiment"
         Range("B1:B4,B6,B9,B10,B13,E3:E15,B36,B38").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Cadres Intermittents", "ICL Non Cadres Intermittents"
         Range("B1:B4,B6,B9,B10,B14,E3:E14,B31,B33").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL IAC Bâtiment", "ICL Etam Bâtiment", "ICL IAC TP", "ICL ETAM TP"
         Range("B1:B4,B6,B9,B10,B13,F3:F15,E14,B38,B40").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite IAC TP", "Ind Retraite IAC Bâtiment", "Ind Retraite ETAM TP", "Ind Retraite ETAM Bâtiment"
         Range("B1:B4,B6,B9,B10,F3:F14,E14").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite Métallurgie", "Ind Retraite Intermittents"
         Range("B1:B6,B9,B10,F3:F14").ClearContents
         MsgBox "les données sont effacées"
      Case "Ind Retraite SYNTEC"
         Range("B1:B6,B9,B10,E14,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL CADRES SYNTEC"
         Range("B1:B4,B6,B9,B10,B14,B31,B33,E3:E14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL ETAM SYNTEC"
         Range("B1:B4,B6,B9,B10,B13,B34,B36,E14,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     Case "ICL Exploit. Forest."
         Range("B1:B6,B9,B10,B14,B31,B33,E3:E14").ClearContents
         MsgBox "les données sont effacées"
     Case "Ind Retraite Exploit."
         Range("B1:B6,B9,B10,F3:F14").ClearContents
         MsgBox "les données sont effacées"
     End Select
     Sheets("Menu").Select
     Range("A1:L1").Select
 End Sub

Merci de votre aide

Cdt

Bonsoir,

J'ai testé et je n'avais plus de boutons

Remets "On error resume next" & "On Error Goto 0" en lieu et place. Et ressaies.

Cdlt

Merci pour ton aide

Le pb est résolu

Cdt

Rechercher des sujets similaires à "valeur tapee dehors limites"