Bonjour, je cherche comment écrire une macro
Voici un exemple : j'ai une feuille ou j'ai des titre et des sous-titre.
J'aimerais que quand je clique sur le titre sa masquer les sous-titre et s'il
sont masquer les afficher.
Toute est dans la colonne B
J'aimerais que quand je clique sur B2 ou B5 qui est le titre que les
sous-titre ce masque ou s'affiche
Ligne 2 = titre A
ligne 3 = sous titre de A
ligne 4 = titre B
ligne 5 à 15 = sous titre de B
etc.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
Voir PJ :http://cjoint.com/?mpfZhYXix0
Les titres sont en gras
A B 1 Titre1 2 SousTitre1 3 Titre2 4 SousTitre2 5 SousTitre2 6 SousTitre2 7 SousTitre2 8 Titre3 9 Sous Titre3
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If ActiveCell.Column = 2 And ActiveCell.Font.Bold = True Then If Not ActiveCell.Offset(1, 0).EntireRow.Hidden Then i = 1 Do While Not ActiveCell.Offset(i, 0).Font.Bold And Not IsEmpty(ActiveCell.Offset(i, 0)) i = i + 1 Loop Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1, 0)).EntireRow.Hidden = True Else i = 1 Do While ActiveCell.Offset(i, 0).EntireRow.Hidden i = i + 1 Loop Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1, 0)).EntireRow.Hidden = False End If End If End Sub
Cordialement JB
Bonjour,
Voir PJ :http://cjoint.com/?mpfZhYXix0
Les titres sont en gras
A B
1 Titre1
2 SousTitre1
3 Titre2
4 SousTitre2
5 SousTitre2
6 SousTitre2
7 SousTitre2
8 Titre3
9 Sous Titre3
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel
As Boolean)
If ActiveCell.Column = 2 And ActiveCell.Font.Bold = True Then
If Not ActiveCell.Offset(1, 0).EntireRow.Hidden Then
i = 1
Do While Not ActiveCell.Offset(i, 0).Font.Bold And Not
IsEmpty(ActiveCell.Offset(i, 0))
i = i + 1
Loop
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1,
0)).EntireRow.Hidden = True
Else
i = 1
Do While ActiveCell.Offset(i, 0).EntireRow.Hidden
i = i + 1
Loop
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1,
0)).EntireRow.Hidden = False
End If
End If
End Sub
A B 1 Titre1 2 SousTitre1 3 Titre2 4 SousTitre2 5 SousTitre2 6 SousTitre2 7 SousTitre2 8 Titre3 9 Sous Titre3
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If ActiveCell.Column = 2 And ActiveCell.Font.Bold = True Then If Not ActiveCell.Offset(1, 0).EntireRow.Hidden Then i = 1 Do While Not ActiveCell.Offset(i, 0).Font.Bold And Not IsEmpty(ActiveCell.Offset(i, 0)) i = i + 1 Loop Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1, 0)).EntireRow.Hidden = True Else i = 1 Do While ActiveCell.Offset(i, 0).EntireRow.Hidden i = i + 1 Loop Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(i - 1, 0)).EntireRow.Hidden = False End If End If End Sub