afin de gérer une numérotation de pages, j'ai besoin de trouver
en vba quel est le niveau du plan actuellement affiché.
J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit
"Impossible de lire la propriété ShowLevels da la classe Outline."
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
lSteph
Bonsoir,
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel() Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr For Each c In _ Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel) If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next msgbox "Niveaux de plan affichés:" & vbCrLf & _ "Lignes: " & Rlevel & vbCrLf & _ "Colonnes: " & Clevel & vbCrLf
Exit Sub gestErr: msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver en vba quel est le niveau du plan actuellement affiché. J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit "Impossible de lire la propriété ShowLevels da la classe Outline."
Y a-t-il une instruction magique pour y arriver ?
Merci d'avance,
Jac
Bonsoir,
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel()
Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr
For Each c In _
Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel)
If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next
msgbox "Niveaux de plan affichés:" & vbCrLf & _
"Lignes: " & Rlevel & vbCrLf & _
"Colonnes: " & Clevel & vbCrLf
Exit Sub
gestErr:
msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" <Jsa...@mfra.net> wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver
en vba quel est le niveau du plan actuellement affiché.
J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit
"Impossible de lire la propriété ShowLevels da la classe Outline."
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel() Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr For Each c In _ Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel) If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next msgbox "Niveaux de plan affichés:" & vbCrLf & _ "Lignes: " & Rlevel & vbCrLf & _ "Colonnes: " & Clevel & vbCrLf
Exit Sub gestErr: msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver en vba quel est le niveau du plan actuellement affiché. J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit "Impossible de lire la propriété ShowLevels da la classe Outline."
Y a-t-il une instruction magique pour y arriver ?
Merci d'avance,
Jac
Jac
Merci LSteph,
ça fonctionne parfaitement sur un tableau test Mais mon vrai tableau, 1700 liges dont 215 vides, 3 niveaux de regroupements sur les lignes, 1 sur les colonnes (pour le test macro) et... 18 groupes de cellules fusionnées (oui, je sais, mais je voulais en mettre encore plus...) ne répond pas autre chose que niveau 1 sur les lignes et 2 sur les colonnes quelle que soit la config. J'ai mis une valeur dans chacune des lignes vides afin d'obtenir un tableau en un bloc, mais ça ne change rien.
Sniff...
"lSteph" a écrit dans le message de news:
Bonsoir,
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel() Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr For Each c In _ Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel) If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next msgbox "Niveaux de plan affichés:" & vbCrLf & _ "Lignes: " & Rlevel & vbCrLf & _ "Colonnes: " & Clevel & vbCrLf
Exit Sub gestErr: msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver en vba quel est le niveau du plan actuellement affiché. J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit "Impossible de lire la propriété ShowLevels da la classe Outline."
Y a-t-il une instruction magique pour y arriver ?
Merci d'avance,
Jac
Merci LSteph,
ça fonctionne parfaitement sur un tableau test
Mais mon vrai tableau, 1700 liges dont 215 vides, 3 niveaux de regroupements
sur les lignes, 1 sur les colonnes (pour le test macro) et... 18 groupes de
cellules fusionnées (oui, je sais, mais je voulais en mettre encore plus...)
ne répond pas autre chose que niveau 1 sur les lignes et 2 sur les colonnes
quelle que soit la config.
J'ai mis une valeur dans chacune des lignes vides afin d'obtenir un tableau
en un bloc, mais ça ne change rien.
Sniff...
"lSteph" <gmLSteph@gmail.com> a écrit dans le message de news:
1192122183.704363.80220@g4g2000hsf.googlegroups.com...
Bonsoir,
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel()
Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr
For Each c In _
Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel)
If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next
msgbox "Niveaux de plan affichés:" & vbCrLf & _
"Lignes: " & Rlevel & vbCrLf & _
"Colonnes: " & Clevel & vbCrLf
Exit Sub
gestErr:
msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" <Jsa...@mfra.net> wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver
en vba quel est le niveau du plan actuellement affiché.
J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit
"Impossible de lire la propriété ShowLevels da la classe Outline."
ça fonctionne parfaitement sur un tableau test Mais mon vrai tableau, 1700 liges dont 215 vides, 3 niveaux de regroupements sur les lignes, 1 sur les colonnes (pour le test macro) et... 18 groupes de cellules fusionnées (oui, je sais, mais je voulais en mettre encore plus...) ne répond pas autre chose que niveau 1 sur les lignes et 2 sur les colonnes quelle que soit la config. J'ai mis une valeur dans chacune des lignes vides afin d'obtenir un tableau en un bloc, mais ça ne change rien.
Sniff...
"lSteph" a écrit dans le message de news:
Bonsoir,
suppose cellules du plan contenues en d4:g17 sinon adapter:
Option Explicit
Sub atPlanLevel() Dim c As Range, Rlevel As Integer, Clevel As Integer
On Error GoTo gestErr For Each c In _ Feuil1.Range("d4:g17").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible)
If CInt(Rows(c.Row).OutlineLevel) _
Rlevel Then Rlevel = CInt(Rows(c.Row).OutlineLevel) If CInt(Columns(c.Column).OutlineLevel) _
Clevel Then Clevel = CInt(Columns(c.Column).OutlineLevel)
Next msgbox "Niveaux de plan affichés:" & vbCrLf & _ "Lignes: " & Rlevel & vbCrLf & _ "Colonnes: " & Clevel & vbCrLf
Exit Sub gestErr: msgbox "Pas de plan affiché"
End Sub
'lSteph
On 11 oct, 15:46, "Jac" wrote:
Bonjour à tous,
afin de gérer une numérotation de pages, j'ai besoin de trouver en vba quel est le niveau du plan actuellement affiché. J'ai essayé en m'inspirant de l'aide avec
If Worksheets(2).Outline.ShowLevels = 1 Then MsgBox "Niveau de plan = 1"
mais, le vba, dans son infinie bonté me dit "Impossible de lire la propriété ShowLevels da la classe Outline."