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

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

Daniel200666

XLDnaute Junior

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
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

C'est @Jeannette qui avait le lynx dans son oeil, non ?
(message#4)
Code:
Sub Errare_humanum_est()
ActiveSheet.Range("D37;40").Value = 1
End Sub
Sub Syntaxe_OK()
ActiveSheet.Range("D37,D40").Value = 1
'ou
ActiveSheet.Range("C37:C40").Value = 2
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Hello

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…