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
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