Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ignorer lignes masquées avec VBA ?

1 réponse
Avatar
Emile63
Bonsoir =C3=A0 tous,
Avec le code suivant (tronqu=C3=A9 pour faire court) j'ins=C3=A8re des saut=
de page en fonction du code "1" que j'ai mis dans une colonne, et une bouc=
le qui parcourt les cellules en descendant pas de 1 s'il n'y a pas le code =
1. Malheureusement j'ai un probl=C3=A8me avec les lignes masqu=C3=A9es (oui=
, il y en a), que la macro parcourt alors que je souhaiterais passer =C3=A0=
la suivante visible..
Je vous remercie d'avance pour vos id=C3=A9es ou solutions,
Emile

---------------------------------------------------------------------------=
-----
Do While ActiveCell.Value <> ""
If ActiveCell =3D 1 Then ' 1 =3D Insertion du saut de page
MaCellule =3D ActiveCell.Address(RowAbsolute:=3DFalse, Colu=
mnAbsolute:=3DFalse)
Selection.EntireRow.Select
Selection.PageBreak =3D xlManual
Range(MaCellule).Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
---------------------------------------------------------------------------=
----------

1 réponse

Avatar
Emile63
Le Tuesday, September 8, 2020 à 1:45:53 AM UTC+2, MichD a écrit  :
Le 07/09/20 à 18:16, Emile63 a écrit :
Do While ActiveCell.Value <> ""
If ActiveCell = 1 Then ' 1 = Insertion du saut de page
MaCellule = ActiveCell.Address(RowAbsolute:úlse, ColumnAbsolute: úlse)
Selection.EntireRow.Select
Selection.PageBreak = xlManual
Range(MaCellule).Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
Bonjour,
Essaie comme ceci :
'En déclarant une variable comme ceci,
Dim X As XlPageBreak
'Dès que tu tapes le symbole = apparaissent les 3 possibilité s que peut
prendre cette variable.
X = xlPageBreakManual
'--------------------------------------------
Sub test()
Dim Rg As Range, C As Range
Dim X As XlPageBreak
X = xlPageBreakManual
'Adapte le nom de l'onglet de la feuille
With Worksheets("Feuil1")
'adapte la plage de cellules si requise
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
For Each C In Rg.SpecialCells(xlCellTypeVisible)
If C.Value = 1 Then
C.EntireRow.PageBreak = X
End If
Next
End Sub
'--------------------------------------------
MiichD

Merci , et bonne soirée.
Emile