Microsoft 365 Macro mais je ne comprends pas mon erreur

Daniel200666

XLDnaute Junior
Bonjour à tous

j'ai écrit une macro qui me semble bonne mais j'ai toujours cette partie surlignée en jaune : Sheets("feuil1").Range("D37;40").Value = 1 et je ne comprends pas pourquoi

Pourriez vous procéder à une petite vérification svp ? je vous en serais gré !!!

Merci et bonne journée !

Sub Reset()

ActiveSheet.Unprotect ("cbipro")

Sheets("feuil1").Range("D37;40").Value = 1

Range("D11:E43").ClearContents

Rows("47:54").EntireRow.Select
Selection.EntireRow.Hidden = True

ActiveSheet.Protect ("cbipro")

End Sub
 

Pièces jointes

  • Exemple Excel pour macro à conditionner.xls
    151 KB · Affichages: 7

Daniel200666

XLDnaute Junior
Bonjour @Daniel200666


Quel est la feuille active ??
Est ce bien la feuille 1 ???

Et la feuil1 existe t'elle à mon avis elle n'existe pas !!!!




A noter qu'avec un fichier c'est beaucoup plus facile que faire des suppositions !!!

Merci de ton retour

bonjour et merci beaucoup pour cette réponse rapide
Désolé pour cette maladresse, je vais mettre le fichier en complément de mon précédent message
 

Jeannette

XLDnaute Junior
Bonjour,
Il ne manquerait pas le nom de la colonne juste avant le 40?
VB:
Sheets("feuil1").Range("D37;40").Value = 1
=>
Feuil1.Range("D37:D40").Value = 1
D, ou E, ou toute autre colonne...
Et un : à la place d'un ;
et remplacer Sheets("feuil1") par le codename Feuil1
 

TooFatBoy

XLDnaute Barbatruc
Hello :D

Prop :
VB:
Sub Reset()
'
    With ActiveSheet
        .Unprotect ("cbipro")
'        Sheets(Feuil1).Range("D37:D40").Value = 1
        .Range("D11:E43").ClearContents
        .Rows("47:54").EntireRow.Hidden = True
        .Protect ("cbipro")
    End With

End Sub


Remarque : pourquoi enregistrer le classeur en xls de 1997 et non en xlsm ???
(en plus il ne ferait plus que 96 ko au lieu de 152 ko)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
ReBonsoir

Et en retirant les 4 parenthèses surnuméraires, on aurait aussi 4 caractères de moins
Code:
Const °V° As String = "cbipro"
Sub Rosette()
    With ActiveSheet
        .Unprotect °V°
        .Range("D11:E43").ClearContents
        .Rows("47:54").EntireRow.Hidden = True
        .Protect °V°
    End With
End Sub

@TooFatBoy
Il n'y aurait pas un EntireRow en trop dans ta ligne de code, par hasard ? ;)
TooFatBoy à dit:
.Rows("47:54").EntireRow.EntireRow.Hidden = True
 

Discussions similaires

Statistiques des forums

Discussions
314 143
Messages
2 106 302
Membres
109 556
dernier inscrit
epablo