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

XL pour MAC macro pour vider cellules non verrouillées

choise62

XLDnaute Nouveau
Bonjour
y aurait 'il une macro qui permet de vider le contenu des cellules qui ne sont pas verrouillées ?
_ pour info : les cellules en jaunes sont celles qui ne sont pas verrouillées et qui doivent être vidées par la macro
au plaisir de vous lire
 

Pièces jointes

  • Classeur1.xlsx
    15.1 KB · Affichages: 18

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Choise,
Essayez cela :
VB:
Sub Clearpage()
    Application.ScreenUpdating = False
    For Each C In [D1:P29]
        On Error Resume Next
        C.Value = ""
    Next C
End Sub
C'est long mais efficace.
Sauf en F16 qui est jaune et ...protégée.
 

soan

XLDnaute Barbatruc
Inactif
Bonjour choise62, sylvanu,

ton fichier en retour ; fais Ctrl e ➯ travail effectué !

VB:
Sub ClearYellowCells()
  Dim plg$: Application.ScreenUpdating = 0: ActiveSheet.Unprotect
  plg = "E3:F3, K3:P3, G4:H7, K4:L4, K5, F8:L8, G9:G10, J9:L9, J10:M10, F11:G11, J11:K11, " _
    & "G12:K12, P4:P12, H13:J13, G14:K14, N13:P14, H15:I15, O15:P15, F16:P16, E17:P18, " _
    & "G19:P19, D21:L23, E25:P28, F29:P29"
  Range(plg) = Empty: ActiveSheet.Protect
End Sub

soan
 

Pièces jointes

  • Classeur1.xlsm
    21.6 KB · Affichages: 3

soan

XLDnaute Barbatruc
Inactif
Bonjour Phil,

j'y ai pensé, moi aussi, à effacer les cellules dont la couleur de remplissage est jaune, et ça serait valable si c'était pareil dans le fichier réel du demandeur ; mais d'après moi, le jaune est mis seulement pour mieux nous indiquer quelles sont les cellules à effacer ; c'est un jaune « temporaire » de travail, comme si choise62 avait utilisé un stabylo jaune fluo.

soan
 

soan

XLDnaute Barbatruc
Inactif
@choise62

pour info : les cellules en jaunes sont celles qui ne sont pas verrouillées et qui doivent être vidées par la macro

contrairement à ce que tu as écrit, certaines cellules jaunes sont verrouillées ; par exemple D21: D23 ; c'est pour ça que ma macro doit déprotéger la feuille avant l'effacement des cellules, puis la verrouiller après.

suggestion : déverrouille la protection de toutes tes cellules jaunes, sans aucune exception, et ma macro pourra alors être simplifiée ainsi :​

VB:
Sub ClearYellowCells()
  Dim plg$: Application.ScreenUpdating = 0
  plg = "E3:F3, K3:P3, G4:H7, K4:L4, K5, F8:L8, G9:G10, J9:L9, J10:M10, F11:G11, J11:K11, " _
    & "G12:K12, P4:P12, H13:J13, G14:K14, N13:P14, H15:I15, O15:P15, F16:P16, E17:P18, " _
    & "G19:P19, D21:L23, E25:P28, F29:P29"
  Range(plg) = Empty
End Sub

si besoin, revérifie les références de cellules à effacer : peut-être que tu t'es trompé et qu'il ne faut pas effacer D21: D23 avec les autres cellules ? ensuite, tu pourras adapter plg.

soan
 

choise62

XLDnaute Nouveau
désolée ! je constate mon manque de précision et l'erreur du jaune sur une cellule verrouillée......
....le jaune est mis uniquement pour vous montrer les cellules qui ne sont pas verrouillées ; il ne peux donc pas servir d'indiquation
 

Discussions similaires

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