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

simplification macro

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

zumye

XLDnaute Occasionnel
bonjour le forum
quelqu'un peut me simplifier ce programme :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$16" Then
Cells.EntireRow.Hidden = False: Cancel = True
ElseIf Target.Column = 1 And Target.Row > 1 And Target.Row < 65536 Then
Range(Cells(Target.Row + 1, 1), Cells(65536, 1)).EntireRow.Hidden = True
ElseIf Target.Column = 2 And Target.Row > 1 And Target.Row < 64 Then
Range(Cells(Target.Row + 1, 1), Cells(65, 1)).EntireRow.Hidden = True: Cancel = True
ElseIf Target.Column = 2 And Target.Row > 67 And Target.Row < 114 Then
Range(Cells(Target.Row + 1, 1), Cells(115, 1)).EntireRow.Hidden = True: Cancel = True
ElseIf Target.Column = 2 And Target.Row > 67 And Target.Row < 164 Then
Range(Cells(Target.Row + 1, 1), Cells(165, 1)).EntireRow.Hidden = True: Cancel = True
ElseIf Target.Column = 2 And Target.Row > 67 And Target.Row < 214 Then
Range(Cells(Target.Row + 1, 1), Cells(215, 1)).EntireRow.Hidden = True: Cancel = True
ElseIf Target.Column = 2 And Target.Row > 67 And Target.Row < 264 Then
Range(Cells(Target.Row + 1, 1), Cells(265, 1)).EntireRow.Hidden = True: Cancel = True
ElseIf Target.Column = 2 And Target.Row > 67 And Target.Row < 314 Then
Range(Cells(Target.Row + 1, 1), Cells(315, 1)).EntireRow.Hidden = True: Cancel = True
End If
End Sub


MERCI
 
Re : simplification macro

Bonjour

Ci dessous avec la macro avec Select case

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$16" Then
    Cells.EntireRow.Hidden = False: Cancel = True
End If
Select Case Target.Column
Case 1
If Target.Row > 1 And Target.Row < 65536 Then _
                Range(Cells(Target.Row + 1, 1), Cells(65536, 1)).EntireRow.Hidden = True
Case 2
    Select Case Target.Row
            Case 2 To 63

            Range(Cells(Target.Row + 1, 1), Cells(65, 1)).EntireRow.Hidden = True: Cancel = True

            Case Is > 67
                 If Target.Row < 114 Then
                    Range(Cells(Target.Row + 1, 1), Cells(115, 1)).EntireRow.Hidden = True: Cancel = True
                
                ElseIf Target.Row < 164 Then
                    Range(Cells(Target.Row + 1, 1), Cells(165, 1)).EntireRow.Hidden = True: Cancel = True
                
                ElseIf Target.Row < 214 Then
                    Range(Cells(Target.Row + 1, 1), Cells(215, 1)).EntireRow.Hidden = True: Cancel = True
                
                ElseIf Target.Row < 264 Then
                    Range(Cells(Target.Row + 1, 1), Cells(265, 1)).EntireRow.Hidden = True: Cancel = True
                
                ElseIf Target.Row < 314 Then
                    Range(Cells(Target.Row + 1, 1), Cells(315, 1)).EntireRow.Hidden = True: Cancel = True

                End If
            End Select
End Select
                    
End Sub

A tester

JP
 
Re : simplification macro

bonjour jp 14
ca marche à une exeption importante, quand je double clic sur:
"$A$16"
cela me permet de réafficher les lignes masquées
et la elle se comporte comme les autres lignes c'est a dire si je clique dessus elle masque dessous alors qu'elle doit remettre l'affichage
merci
 
Re : simplification macro

Bonjour (re)

Il faudrait mettre dans ce cas

If Target.Address <> "$A$16" Then
Select case Target.Row

ou
If Target.Address = "$A$16" Then
.......
else
Select case Target.Row

JP
 
- 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
4
Affichages
586
Réponses
5
Affichages
911
Réponses
4
Affichages
733
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…