bonjour
ms office 2007 (fr) / spreadsheet au format 2003 (*.xlsM)
les macros sont autorisées
je n'arrive pas à cacher une colonne affichée ou faire afficher une colonne cachée
je passe bien par mon code (les text-box s'affichent)
je peux exécuter des macros (modifier la valeur d'une cellule)
les 'messages boxes' affichent bien ce qui correspond à la réalité
la colonne 'R' est cachée (fait à la main)
G72 (somme) a une valeur <>0 donc doit rester affichée
J72 (somme) a une valeur =0 donc devrait être cachée
je passe par les bonnes parties de code (je le vois grâce aux 'message boxes)
j'ai essayé plusieurs méthodes
le test sur la visibilité de la colonne 'R' affiche le bon résultat
donc il semble que je n'arrive pas à imposer une valeur à l'attribut 'hidden' (true ou false)
merci d'avance pour vos conseils
[cpp]
Sub HideEmpty()
'
' HideEmpty Macro
' Hides Columns with no element
'
Columns("G:H").Select
If Range("G72").Value = 0 Then
Selection.EntireColumn.Hidden = True
MsgBox "G72 = 0 => hide columns"
Else
Selection.EntireColumn.Hidden = False
MsgBox "G72 <> 0 => un-hide columns"
End If
Columns("J:K").Select
If Range("J72").Value = 0 Then
Selection.EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Selection.EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
' test hide-un_hide
If Columns("G").EntireColumn.Hidden Then
MsgBox "G is hidden"
Else
MsgBox "G is seen"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
If Columns("R").EntireColumn.Hidden Then
MsgBox "R is hidden"
Else
MsgBox "R is seen"
End If
If Range("J72").Value = 0 Then
Columns("J:K").EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Columns("J:K").EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
If Range("J72").Value = 0 Then
Columns("J").EntireColumn.Hidden = True
Columns("K").EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Columns("J").EntireColumn.Hidden = False
Columns("K").EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
' If Range("G72").Value = 0 Then
' Columns("G:H").EntireColumn.Hidden = True
' MsgBox "G72 = 0 => hide columns"
' Else
' Columns("G:H").EntireColumn.Hidden = False
' MsgBox "G72 <> 0 => un-hide columns"
' End If
' If Range("J72").Value = 0 Then
' Columns("J:K").EntireColumn.Hidden = True
' MsgBox "J72 = 0 => hide columns"
' Else
' Columns("J:K").EntireColumn.Hidden = False
' MsgBox "J72 <> 0 => un-hide columns"
' End If
End Sub
[/cpp]
code pour faire afficher (ne fonctionne pas non plus
[cpp]
Sub UnHideEmpty()
'
' Un-HideEmpty Macro
' Hides Columns with no element
'
Columns("G:H").EntireColumn.Hidden = False
Columns("J:K").EntireColumn.Hidden = False
MsgBox "un-hide columns G:H, J:K, ..."
End Sub
[/cpp]
code pour modifier la valeur d'une cellule
(fonctionne correctement)
[cpp]
Sub Set_A60_1()
Range("A60").Value = "'1"
End Sub
Sub Set_A60_2()
Range("A60").Value = "'2"
End Sub
Sub Set_A60_Null()
Range("A60").Value = ""
End Sub
[/cpp]
ms office 2007 (fr) / spreadsheet au format 2003 (*.xlsM)
les macros sont autorisées
je n'arrive pas à cacher une colonne affichée ou faire afficher une colonne cachée
je passe bien par mon code (les text-box s'affichent)
je peux exécuter des macros (modifier la valeur d'une cellule)
les 'messages boxes' affichent bien ce qui correspond à la réalité
la colonne 'R' est cachée (fait à la main)
G72 (somme) a une valeur <>0 donc doit rester affichée
J72 (somme) a une valeur =0 donc devrait être cachée
je passe par les bonnes parties de code (je le vois grâce aux 'message boxes)
j'ai essayé plusieurs méthodes
le test sur la visibilité de la colonne 'R' affiche le bon résultat
donc il semble que je n'arrive pas à imposer une valeur à l'attribut 'hidden' (true ou false)
merci d'avance pour vos conseils
[cpp]
Sub HideEmpty()
'
' HideEmpty Macro
' Hides Columns with no element
'
Columns("G:H").Select
If Range("G72").Value = 0 Then
Selection.EntireColumn.Hidden = True
MsgBox "G72 = 0 => hide columns"
Else
Selection.EntireColumn.Hidden = False
MsgBox "G72 <> 0 => un-hide columns"
End If
Columns("J:K").Select
If Range("J72").Value = 0 Then
Selection.EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Selection.EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
' test hide-un_hide
If Columns("G").EntireColumn.Hidden Then
MsgBox "G is hidden"
Else
MsgBox "G is seen"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
If Columns("R").EntireColumn.Hidden Then
MsgBox "R is hidden"
Else
MsgBox "R is seen"
End If
If Range("J72").Value = 0 Then
Columns("J:K").EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Columns("J:K").EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
If Range("J72").Value = 0 Then
Columns("J").EntireColumn.Hidden = True
Columns("K").EntireColumn.Hidden = True
MsgBox "J72 = 0 => hide columns"
Else
Columns("J").EntireColumn.Hidden = False
Columns("K").EntireColumn.Hidden = False
MsgBox "J72 <> 0 => un-hide columns"
End If
If Columns("J").EntireColumn.Hidden Then
MsgBox "J is hidden"
Else
MsgBox "J is seen"
End If
' If Range("G72").Value = 0 Then
' Columns("G:H").EntireColumn.Hidden = True
' MsgBox "G72 = 0 => hide columns"
' Else
' Columns("G:H").EntireColumn.Hidden = False
' MsgBox "G72 <> 0 => un-hide columns"
' End If
' If Range("J72").Value = 0 Then
' Columns("J:K").EntireColumn.Hidden = True
' MsgBox "J72 = 0 => hide columns"
' Else
' Columns("J:K").EntireColumn.Hidden = False
' MsgBox "J72 <> 0 => un-hide columns"
' End If
End Sub
[/cpp]
code pour faire afficher (ne fonctionne pas non plus
[cpp]
Sub UnHideEmpty()
'
' Un-HideEmpty Macro
' Hides Columns with no element
'
Columns("G:H").EntireColumn.Hidden = False
Columns("J:K").EntireColumn.Hidden = False
MsgBox "un-hide columns G:H, J:K, ..."
End Sub
[/cpp]
code pour modifier la valeur d'une cellule
(fonctionne correctement)
[cpp]
Sub Set_A60_1()
Range("A60").Value = "'1"
End Sub
Sub Set_A60_2()
Range("A60").Value = "'2"
End Sub
Sub Set_A60_Null()
Range("A60").Value = ""
End Sub
[/cpp]