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

(RESOLU)Simplifier le code

chaelie2015

XLDnaute Accro
Bonjour Forum
je souhaite simplifier le code ci dessous
Code:
Sheets("Feuil1").Rows(259).Hidden = IIf(Range("B259") = "", True, False)
Sheets("Feuil1").Rows(270).Hidden = IIf(Range("B259") = "", False, True)

Sheets("Feuil1").Rows(260).Hidden = IIf(Range("B260") = "", True, False)
Sheets("Feuil1").Rows(271).Hidden = IIf(Range("B260") = "", False, True)

Sheets("Feuil1").Rows(261).Hidden = IIf(Range("B261") = "", True, False)
Sheets("Feuil1").Rows(272).Hidden = IIf(Range("B261") = "", False, True)

Sheets("Feuil1").Rows(262).Hidden = IIf(Range("B262") = "", True, False)
Sheets("Feuil1").Rows(273).Hidden = IIf(Range("B262") = "", False, True)

Sheets("Feuil1").Rows(263).Hidden = IIf(Range("B263") = "", True, False)
Sheets("Feuil1").Rows(274).Hidden = IIf(Range("B263") = "", False, True)

Sheets("Feuil1").Rows(264).Hidden = IIf(Range("B264") = "", True, False)
Sheets("Feuil1").Rows(275).Hidden = IIf(Range("B264") = "", False, True)

Sheets("Feuil1").Rows(265).Hidden = IIf(Range("B265") = "", True, False)
Sheets("Feuil1").Rows(276).Hidden = IIf(Range("B265") = "", False, True)

Sheets("Feuil1").Rows(266).Hidden = IIf(Range("B266") = "", True, False)
Sheets("Feuil1").Rows(277).Hidden = IIf(Range("B266") = "", False, True)

Sheets("Feuil1").Rows(267).Hidden = IIf(Range("B267") = "", True, False)
Sheets("Feuil1").Rows(278).Hidden = IIf(Range("B267") = "", False, True)

Sheets("Feuil1").Rows(268).Hidden = IIf(Range("B268") = "", True, False)
Sheets("Feuil1").Rows(279).Hidden = IIf(Range("B268") = "", False, True)

Sheets("Feuil1").Rows(269).Hidden = IIf(Range("B269") = "", True, False)
Sheets("Feuil1").Rows(280).Hidden = IIf(Range("B269") = "", False, True)
SALUTATIONS
 
Dernière édition:

DL_13

XLDnaute Occasionnel
Re : Simplifier le code

Bonjour,

Peut-être ainsi

Code:
Application.ScreenUpdating = False
With Sheets("Feuil1")
    For i = 259 To 269
        .Rows(i).Hidden = IIf(Range("B" & i) = "", True, False)
        .Rows(i + 11).Hidden = IIf(Range("B" & i) = "", False, True)
    Next i
End With
Application.ScreenUpdating = True

en nommant la variable i as Integer
Bonne journée
 
Dernière édition:

JBARBE

XLDnaute Barbatruc
Re : Simplifier le code

Bonjour à tous ,

Peut-être ceci :

Code:
Dim i As Long
Dim j As Long
With Sheets("Feuil1")
For i = 259 To 269
 For j = 270 To 280
 .Rows(i).Hidden = IIf(Range("B" & i) = "", True, False)
 .Rows(j).Hidden = IIf(Range("B" & i) = "", False, True)
 Next j
Next i
End With

bonne journée !
 

chaelie2015

XLDnaute Accro
Re : Simplifier le code

Bonjour tous le monde
merci pour les réponses
@ DL_13: merci pour la réponse mais li manque le reste des lignes de 270 To 280 parce que ça n'a pas fonctionné
@ JBARBE : merci pour la réponse c'est bien simplifié mais lors d’exécution du code j'ai constaté qu'il est très lourd ça prend du temps
A+
 

JBARBE

XLDnaute Barbatruc
Re : Simplifier le code

Peut-être comme ceci :

Code:
Dim i As Long
Dim j As Long
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = 259 To 269
 For j = 270 To 280
 .Rows(i).Hidden = IIf(Range("B" & i) = "", True, False)
 .Rows(j).Hidden = IIf(Range("B" & i) = "", False, True)
 Next j
Next i
End With
Application.ScreenUpdating = True
 

DL_13

XLDnaute Occasionnel
Re : Simplifier le code

Bonjour à tous

@ DL_13: merci pour la réponse mais li manque le reste des lignes de 270 To 280 parce que ça n'a pas fonctionné

le code que je t'ai fourni fait exactement ce que le tien fait... ou alors j'ai rien compris

Bonne journée
 

Pièces jointes

  • chaelie2015 03022016 V2.xlsm
    31.5 KB · Affichages: 28

JBARBE

XLDnaute Barbatruc
Re : (RESOLU)Simplifier le code

Mon code tel qu'il est décrit précédemment est plus rapide !

Code:
Dim i As Long
Dim j As Long
Application.ScreenUpdating = False
With Sheets("Feuil1")
For i = 259 To 269
 For j = 270 To 280
 .Rows(i).Hidden = IIf(Range("B" & i) = "", True, False)
 .Rows(j).Hidden = IIf(Range("B" & i) = "", False, True)
 Next j
Next i
End With
Application.ScreenUpdating = True

bonne journée !
 

Pièces jointes

  • chaelie2015.xls
    70.5 KB · Affichages: 36

Dranreb

XLDnaute Barbatruc
Re : (RESOLU)Simplifier le code

Remarque: une expression de la forme IIf(Condition, True, False) à tout intérêt à être remplacé
par simplement : Condition

Donc : .Rows(i).Hidden = Range("B" & i) = ""
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…