Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Macro erreur

marco22

XLDnaute Occasionnel
Bonjour
J'utilise Excel 2007
j'ai réalisé une macro et quand je l'exécute avec la feuille de résultat protégée j'obtient un message d'erreur:
Erreur d'exécution '1004':
Impossible de définir la propriété Hidden de la classe Range.
Et si ma feuille de résultats n'est pas protégée cela foncionne
Pourquoi?
Merci d'éclairer ma lanterne!
marco
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, marco22

marco22
Voir du côté de UserInterfaceOnly
(ou déprotection en début de code puis reprotection en fin de code)

NB: Si on pouvait lire le code de ta macro, cela aussi éclairerait notre lanterne
 

marco22

XLDnaute Occasionnel
Je ne sais pas si c'est cela que tu voulais voir!
J'ai fais un copier coller de Visual Basic
si cela peut résoudre mon problème sinon je vais t'envoyer mon fichier Excel
merci

Sub Class18_19()
'
' Class18_19 Macro
'
'
Sheets("Feuil1").Select
Cells.Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:=12
Rows("20:140").Select
Selection.EntireRow.Hidden = True
ActiveWindow.SmallScroll Down:=-8
Range("H3:K17").Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-4
Range("B2").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D317") _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("B2:E17")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 

Staple1600

XLDnaute Barbatruc
Re,

marco22
Normalement, ta macro ainsi revisitée devrait faire la même chose que l'originale, non ?
(la proctection de la feuille en plus)
VB:
Sub Class18_19_bis()
Dim f As Worksheet
Set f = Sheets("Feuil1")
Application.ScreenUpdating = False
f.Protect , UserInterFaceOnly:=True 'protection feuille
f.Cells.EntireRow.Hidden = False: f.Rows("20:140").EntireRow.Hidden = True
  With f.Range("B3:E17")
    .Value = Range("H3:K17").Value
    .Sort f.[B2], xlDescending, , , , , , xlYes
  End With
End Sub
Je te laisse tester.
 

marco22

XLDnaute Occasionnel
Je n'ai pas réussi, j'ai fais un copier coller dans visual basic cela n'a pas fonctionné;
je t'envoi le fichier
ce que je voudrais faire c'est quand je suis par exemple dans la feuille 20_21 et que je clique sur le bouton classement cela m'envoie directement au classement feuille ligne 40 sans voir les autres classements.
Je te remercie et te souhaite une bonne soirée
@+m@rco
 

Pièces jointes

  • POINTS TAROT.xlsm
    181.1 KB · Affichages: 2

Discussions similaires

Réponses
14
Affichages
356
Réponses
9
Affichages
340
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…