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

Masquer/afficher cellules

  • Initiateur de la discussion Initiateur de la discussion DBFOE
  • 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 !

DBFOE

XLDnaute Nouveau
Bonjour,
D'abord un grand bravo pour le forum qui m'a déjà bien aider mais là je cales ... et je n'ai rien trouver (mon niveau Excel est très moyen !!!).

J'ai dans ma feuille 7 OptionButton qui me permettent 7 semaines ainsi q'un récapitulatif : jusque là ça va. Mais ces même boutons devarient faire masquer ou afficher des plages de cellules avec des ScrollBar. Pour les ScrollBar pas de problèmes mais pour les cellules ça m'éfface toute la ligne ou fait apparaitre toute la ligne.
Voici le code pour le premier bouton je l'ai détaillé pour qu'il soit plus lisible :

VB:
Private Sub OptionButton16_Click()
Range("D54:Q115,D44:AB51").Select
Selection.EntireRow.Hidden = True

Range("Semaine2:Semaine7").Select
Selection.EntireRow.Hidden = True

ScrollBar2.Visible = 0
ScrollBar3.Visible = 0
ScrollBar4.Visible = 0
ScrollBar5.Visible = 0
ScrollBar6.Visible = 0
ScrollBar7.Visible = 0

Range("D54:AB61,D44:AB45").Select
Selection.EntireRow.Hidden = False

Range("Semaine1").Select
Selection.EntireRow.Hidden = False

End Sub
J'ai essayé avec le "blanc" mais la plage contient du texte des bordures et de la couleur dans certaines cellules. Pour masquer pas de problèmes mais pour faire réapparaitre là c'est plus compliqué.

J'espères que je n'ai pas été trop long mais j'essai d'être le plus précis possible.

Merci
 
Dernière édition:
Re : Masquer/afficher cellules

Bonsoir Staple1600,
C'est ça les apprentis sorciers, on fait des bêtises.
Je comprends ton détail mais si j'enlèves l'un ou l'autre j'ai une erreur et si j'enlèves les deux je me retrouve avec faux à la fermeture et vrai à l'ouverture.

Merci pour ta patience car je débutes en vba.
 
Re : Masquer/afficher cellules

Re


Ce que je voulais dire

c'est que tu ne peux masquer qu'une ligne ou une colonne entière.
(ce qui semble logique)

Mais si tu joins un fichier exemple, il sera plus aisé de t'aider.
 
Re : Masquer/afficher cellules

Comme dit plus haut : pour le blanc j'ai essayé et cela fonctionne mais pour faire réapparaitre là c'est plus compliqué car mes plages contiennent plusieurs cellules : certaines avec du texte, d'autres des bordures et d'autres un fond de couleur.
 
Re : Masquer/afficher cellules

Bonsoir,
Bloquant sur ma première idée, j'ai ai eu une autre : J'ai fait une copie de mes cellules sur une autre feuille puis je fais une copie.

VB:
Sheets("Source").Select
    Range("I39:K40").Select
    Selection.Copy
    Sheets("Mensualisation").Select
    Range("I39:K40").Select
    ActiveSheet.Paste

Quand j'active la macro seule cela fonctionne mais quand je l'incorpore dans mon OptionButton j'ai une erreur sur Range("I39:K40").Select

Il doit y avoir une erreur entre Sheets et Range mais je ne vois pas.
Merci
 
Re : Masquer/afficher cellules (Resolu)

Bonjour Banzai64,
Un grand MERCI car là je ne l'aurais jamais trouvé tout seul. Cà a l'air de très bien fonctionner.
Si je peux me permettre une petite question : connais-tu un site ou un livre avec un lexique qui détaille le vba car maintenant je vais essayer de comprendre ton code et progressé un peu (vu mon niveau se sera pas dur !!!).

Encore bravo.😉
 
Dernière édition:
Re : Masquer/afficher cellules

Bonjour à tous


Pour Banzai64 (pour info)
Tu peux alléger ceci
Code:
With Range("E39:AE40")
      .ClearContents
      .Interior.ColorIndex = xlNone
      .Borders(xlDiagonalDown).LineStyle = xlNone
      .Borders(xlDiagonalUp).LineStyle = xlNone
      .Borders(xlEdgeLeft).LineStyle = xlNone
      .Borders(xlEdgeTop).LineStyle = xlNone
      .Borders(xlEdgeBottom).LineStyle = xlNone
      .Borders(xlEdgeRight).LineStyle = xlNone
      .Borders(xlInsideVertical).LineStyle = xlNone
      .Borders(xlInsideHorizontal).LineStyle = xlNone
    End With
en cela
Code:
With Range("E39:AE40")
      .ClearContents
      .Interior.ColorIndex = xlNone
      .Borders.LineStyle = xlNone
End With
 
- 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
3
Affichages
493
Réponses
14
Affichages
593
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…