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

macro effacer cellule

  • Initiateur de la discussion Initiateur de la discussion ccpapy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ccpapy

XLDnaute Impliqué
bonsoir le forum
je veux imprimer un onglet Matrice avec une macro
l'onglet est caché, la macro rend bien visible l'onglet, deprotege bien,,,
mais le hic c'est que je ne comprend pas pourquoi les cellules ne se vident pas

merci pour votre aide ou (et) explication de mon erreur
 

Pièces jointes

Re : macro effacer cellule

Bonsoir,
a tester (il faut défusionner les cellules fusionnées) :
Code:
Private Sub Imprimer_Click()
    With Sheets("Matrice")
        .Visible = True
        .Select
        .Unprotect
        .Range("D4,W4,E6,Z6").UnMerge
        .Range("D4,W4,E6,Z6").ClearContents
    End With
End Sub
Si tu veux fusionner à nouveau les cellules vidées :
Code:
Private Sub Imprimer_Click()
    With Sheets("Matrice")
        .Visible = True
        .Select
        .Unprotect
        .Range("D4,W4,E6,Z6").UnMerge
        .Range("D4,W4,E6,Z6").ClearContents
        .Range("D4:J4,E6:J6,W4:AB4,Z6:AE6").Merge
    End With
End Sub
A+
 
Dernière édition:
Re : macro effacer cellule

Bonsoir,

la macro est écrite dans le module de la feuille "RECAP" donc Range est associé à cette feuille et non à "Matrice" !
Ou tu mets ton code dans un Module Standard ou tu le transformes ainsi (attention aux .)
Code:
Private Sub Imprimer_Click()
    With Sheets("Matrice")
          .Visible = True
          .Select
          .Unprotect
          .Range("D4:J4,W4:AB4,E6:J6,Z6:AE6").ClearContents
    End With
End Sub
 
Re : macro effacer cellule

Re,
Effectivement Fo_rum, pas besoin de défusionner pour effacer si l'on veut refusionner ensuite😱.
Ci-joint code permettant de faire le travail en ne spécifiant que la cellule de gauche de la zone fusionnée (moins source d'erreur je pense, notamment si les différentes zones ne comportent pas le même nombre de cellules) :
Code:
Private Sub Imprimer_Click()
    With Sheets("Matrice")
    Set Plage = Application.Union(.[D4].MergeArea, .[W4].MergeArea, .[E6].MergeArea, .[Z6].MergeArea)
          .Visible = True
          .Select
          .Unprotect
    End With
    Plage.ClearContents
End Sub
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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