Bonjour à tous
J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce
déroulement??
merci d'avance
cordialement
J@@
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
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
MichDenis
Bonsoir J@@
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
Salutations!
"J@@" a écrit dans le message de news: % Bonjour à tous J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement??
merci d'avance cordialement J@@ '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
Bonsoir J@@
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'--------------------------
Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1")
.Unprotect
.Range("a13:a101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
Salutations!
"J@@" <jipivert@-ifrance.fr> a écrit dans le message de news: %23qcZFb2JFHA.2752@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce
déroulement??
merci d'avance
cordialement
J@@
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
Salutations!
"J@@" a écrit dans le message de news: % Bonjour à tous J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement??
merci d'avance cordialement J@@ '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
J
Re bonjour après un coup d'oeil chez FS, voici un code bcp plus rapide. est-il bien joli?? merci pour les avis cordialement J@@
'************* Sub MasqueLignesAvecBvide2() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim lignedebut, lignefin lignedebut = 13 lignefin = 101 ActiveSheet.Rows(lignedebut & ":" & lignefin).Hidden = True ActiveSheet.Protect End Sub '************
"J@@" > J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont
la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
Re bonjour
après un coup d'oeil chez FS, voici un code bcp plus rapide.
est-il bien joli??
merci pour les avis
cordialement
J@@
'*************
Sub MasqueLignesAvecBvide2()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim lignedebut, lignefin
lignedebut = 13
lignefin = 101
ActiveSheet.Rows(lignedebut & ":" & lignefin).Hidden = True
ActiveSheet.Protect
End Sub
'************
"J@@" > J'ai bricolé ce qui suit, pour masquer les lignes de la plage
a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce
déroulement??
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
Re bonjour après un coup d'oeil chez FS, voici un code bcp plus rapide. est-il bien joli?? merci pour les avis cordialement J@@
'************* Sub MasqueLignesAvecBvide2() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim lignedebut, lignefin lignedebut = 13 lignefin = 101 ActiveSheet.Rows(lignedebut & ":" & lignefin).Hidden = True ActiveSheet.Protect End Sub '************
"J@@" > J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont
la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
J
Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( ) @+ J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
Bonjour MichDenis
et merci
Ton code fonctionne très bien, bien sûr :-))
(mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr,
puisque j'ai oublié le test sur la cellule B :-(( )
@+
J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton
application.
'--------------------------
Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1")
.Unprotect
.Range("a13:a101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage
a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce déroulement??
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( ) @+ J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
MichDenis
Bonsoir J@@,
Pour répondre à ta demande, j'aurais dû utiliser la colonne B au lieu de la colonne A, si je me réfère à ton code initial.
'-------------------------- Sub MasqueLignesAvecBvide()
On Error Resume Next With Worksheets("Feuil1") .Unprotect .Range("B13:B101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
Salutations!
"J@@" a écrit dans le message de news: % Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( ) @+ J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
Bonsoir J@@,
Pour répondre à ta demande, j'aurais dû utiliser la colonne B au lieu de la colonne A, si je me réfère à ton code
initial.
'--------------------------
Sub MasqueLignesAvecBvide()
On Error Resume Next
With Worksheets("Feuil1")
.Unprotect
.Range("B13:B101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
Salutations!
"J@@" <jipivert@-ifrance.fr> a écrit dans le message de news: %23Xb1r32JFHA.3184@TK2MSFTNGP09.phx.gbl...
Bonjour MichDenis
et merci
Ton code fonctionne très bien, bien sûr :-))
(mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr,
puisque j'ai oublié le test sur la cellule B :-(( )
@+
J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton
application.
'--------------------------
Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1")
.Unprotect
.Range("a13:a101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage
a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce déroulement??
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
Pour répondre à ta demande, j'aurais dû utiliser la colonne B au lieu de la colonne A, si je me réfère à ton code initial.
'-------------------------- Sub MasqueLignesAvecBvide()
On Error Resume Next With Worksheets("Feuil1") .Unprotect .Range("B13:B101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
Salutations!
"J@@" a écrit dans le message de news: % Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( ) @+ J@@
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
J
Encore merci :-)) J@@ "MichDenis" <> Pour répondre à ta demande, j'aurais dû utiliser la colonne B au lieu de la colonne A, si je me réfère à ton code
initial.
'-------------------------- Sub MasqueLignesAvecBvide()
On Error Resume Next With Worksheets("Feuil1") .Unprotect .Range("B13:B101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( )
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************
Encore merci :-))
J@@
"MichDenis" <> Pour répondre à ta demande, j'aurais dû utiliser la colonne B
au lieu de la colonne A, si je me réfère à ton code
initial.
'--------------------------
Sub MasqueLignesAvecBvide()
On Error Resume Next
With Worksheets("Feuil1")
.Unprotect
.Range("B13:B101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
"J@@" <> Bonjour MichDenis
et merci
Ton code fonctionne très bien, bien sûr :-))
(mon autre message évoque un code dérivé de FS qui me masque tout, bien
sûr,
puisque j'ai oublié le test sur la cellule B :-(( )
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton
application.
'--------------------------
Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1")
.Unprotect
.Range("a13:a101").SpecialCells(xlCellTypeBlanks). _
EntireRow.Hidden = True
.Protect
End With
End Sub
'--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage
a13:a101 dont
la cellule B est vide.
Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment
pourrait-on accélérer ce déroulement??
'*************
Sub MasqueLignesAvecBvide()
Application.ScreenUpdating = False
ActiveSheet.Unprotect
Dim plage As Range
Set plage = Range("a13:a101")
For Each ligne In plage.Rows
If ligne.Cells(1, 2).Value = Empty Then
'si la cellule de la colonne B est vide, la ligne est masquée
ligne.EntireRow.Hidden = True
End If
Next
ActiveSheet.Protect
End Sub
'**************
Encore merci :-)) J@@ "MichDenis" <> Pour répondre à ta demande, j'aurais dû utiliser la colonne B au lieu de la colonne A, si je me réfère à ton code
initial.
'-------------------------- Sub MasqueLignesAvecBvide()
On Error Resume Next With Worksheets("Feuil1") .Unprotect .Range("B13:B101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> Bonjour MichDenis et merci Ton code fonctionne très bien, bien sûr :-)) (mon autre message évoque un code dérivé de FS qui me masque tout, bien sûr, puisque j'ai oublié le test sur la cellule B :-(( )
"MichDenis" <
Essaie ceci : En adaptant le nom de la feuille selon celle de ton application.
'-------------------------- Sub MasqueLignesAvecBvide()
With Worksheets("Feuil1") .Unprotect .Range("a13:a101").SpecialCells(xlCellTypeBlanks). _ EntireRow.Hidden = True .Protect End With
End Sub '--------------------------
"J@@" <> J'ai bricolé ce qui suit, pour masquer les lignes de la plage a13:a101 dont la cellule B est vide. Et bien, c'est "long" à se dérouler, près de 2 secondes. Comment pourrait-on accélérer ce déroulement?? '************* Sub MasqueLignesAvecBvide() Application.ScreenUpdating = False ActiveSheet.Unprotect Dim plage As Range Set plage = Range("a13:a101") For Each ligne In plage.Rows If ligne.Cells(1, 2).Value = Empty Then 'si la cellule de la colonne B est vide, la ligne est masquée ligne.EntireRow.Hidden = True End If Next ActiveSheet.Protect End Sub '**************