XL 2010 Cases à cocher non cachées - Pb de code VBA ou W7 64 bits ?

Orson83

XLDnaute Impliqué
Bonjour à tous,
Je rencontre un problème d'affichage avec des checkbox. En effet, sur mon PC Windows 7 - 32 bits pas de soucis, mais sur un PC W7 64 bits, ça coince.
Sur W7 64 bits, le problème se pose lorsque je démasque 4 colonnes ou sont cachées les checkbox (col de J à M).
Une fois démasquées, normalement elles sont en colonne J et là elles se retrouvent en colonne N et plus possible de les masquer car elles sont hors de la zone à masquer (col JKLM).
J'ai essayé d'agir sur les checkbox avec Me.Shapes("Check box1").Visible = False, mais ça ne fonctionne pas (ou j'ai mal codé). Mais finalement je me demande s'il ne faudrait pas agir sur les boutons qui masque/démasque les colonnes ?
Je joins un visuel pour plus de compréhension,
le code qui concerne chaque checkbox :
VB:
'CASE A COCHER N1 POUR MASQUER/AFFICHER LES FEUILLES
Sub CheckBox1_Click()
    With Sheets("Feuil1")
        If CheckBox1 = True Then
            .Visible = xlSheetVisible
            .Activate
            Application.Goto .Range("A1")
            Application.Goto .Range("C4")
        Else
            .Visible = False
        End If
    End With
End Sub
Et le code des boutons qui masquent ou démasquent les 4 colonnes :
Code:
'AFFICHER LES COLONNES
Sub Affiche4Colonnes()
    With ActiveSheet
        .Range("J:M").EntireColumn.Hidden = False
        Application.Goto .Range("A1"), Scroll:=True
    End With
End Sub
'MASQUER LES COLONNES
Sub Masque4Colonnes()
    With ActiveSheet
        .Range("J:M").EntireColumn.Hidden = True
        Application.Goto .Range("A1")
    End With
End Sub
Merci pour votre aide.
 

Pièces jointes

  • capture-cases-a-cocher.jpg
    capture-cases-a-cocher.jpg
    103.5 KB · Affichages: 31

Orson83

XLDnaute Impliqué
J'ai peut-être trouvé une solution qui consiste à afficher les propriétés de la checkbox et de renseigner le nom de la cellule qui se trouve en dessous. Développeur > Mode Création > Propriété
Je joins une capture d'écran pour plus de précision.
Pensez-vous qu'il s'agisse d'une bonne solution ?
 

Pièces jointes

  • capture-propriete.jpg
    capture-propriete.jpg
    49.2 KB · Affichages: 18

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

[Suggestions en passant]
1) Le clic-droit suffit pour accéder aux Propriétés d'un CheckBox
2) Pourquoi de pas utiliser la fonctionnalité Grouper ?
(pilotée ou pas VBA)
Voir exemple illustratif ci-dessous
VB:
Sub Grouper()
    Range("J:M").Columns.Group
    MsgBox "Test 1"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
    MsgBox "Test 2"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
End Sub
Sub DéGrouper()
 Range("J:M").ClearOutline
End Sub
 

Orson83

XLDnaute Impliqué
Bonsoir le fil

[Suggestions en passant]
1) Le clic-droit suffit pour accéder aux Propriétés d'un CheckBox
2) Pourquoi de pas utiliser la fonctionnalité Grouper ?
(pilotée ou pas VBA)
Voir exemple illustratif ci-dessous
VB:
Sub Grouper()
    Range("J:M").Columns.Group
    MsgBox "Test 1"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
    MsgBox "Test 2"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
End Sub
Sub DéGrouper()
Range("J:M").ClearOutline
End Sub
Salut Staple,
Le problème concerne les cases à cocher, pas l'affichage des colonnes.
J'ai posté une piste au post #2 que je suis en train de tester. Qu'en penses-tu ?
 

Staple1600

XLDnaute Barbatruc
Re

Ceci parle bien de masquer les colonnes, non ?
VB:
'MASQUER LES COLONNES
Sub Masque4Colonnes()
    With ActiveSheet
        .Range("J:M").EntireColumn.Hidden = True
        Application.Goto .Range("A1")
    End With
End Sub

Et avant d'investiguer plus avant, j'attends d'avoir ton feedback dans ton autre fil où tu m'indiquais que tu testerais ma fonction GetMACAdress
;)
 

Orson83

XLDnaute Impliqué
Bonsoir le fil

[Suggestions en passant]
1) Le clic-droit suffit pour accéder aux Propriétés d'un CheckBox
2) Pourquoi de pas utiliser la fonctionnalité Grouper ?
(pilotée ou pas VBA)
Voir exemple illustratif ci-dessous
VB:
Sub Grouper()
    Range("J:M").Columns.Group
    MsgBox "Test 1"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
    MsgBox "Test 2"
    ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
End Sub
Sub DéGrouper()
Range("J:M").ClearOutline
End Sub
J'ai répondu et j'espère que tu comprendras ma décision.
 

Staple1600

XLDnaute Barbatruc
Re

Je n'ai rien à comprendre ou pas comprendre.
Je suis membre de ce forum.
Je lis une question.
Elle m'intéresse ou éveille ma curiosité et j'y poste un message qui parfois sera une solution ou une suggestion ou un conseil ou un trait d'humour ou un lien.
Bref, ce qu'aura inspiré la dite question.

Quant à cette discussion et sa question, un fichier exemple (j'ai bien dit exemple et non pas ton classeur "Fort Knox") créé pour illustrer la problème serait plus profitable qu'une copie d'écran.
Voilà ce que je pense. ;)

On a déjà le code VBA, mais avec le fichier exemple où les cases à cocher seraient déjà insérées, ce serait plus simple.
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

Perso j'évite au maximum les objets sur feuilles, excel en a vite marre...
Une case à cocher peut se remplacer par une simple coche dans une cellule mise/ôtée par un double-clic.
Et en plus c'est plus facile à gérer, à recenser, etc

Ceci dit, clic-droit dessus et Format de contrôle / Propriétés, choisir 'Ne pas déplacer ou dimensionner avec les cellules' ne suffit pas à calmer ses velléités d'évasion ?
eric
 

Orson83

XLDnaute Impliqué
Bonjour à tous,

Perso j'évite au maximum les objets sur feuilles, excel en a vite marre...
Une case à cocher peut se remplacer par une simple coche dans une cellule mise/ôtée par un double-clic.
Et en plus c'est plus facile à gérer, à recenser, etc

Ceci dit, clic-droit dessus et Format de contrôle / Propriétés, choisir 'Ne pas déplacer ou dimensionner avec les cellules' ne suffit pas à calmer ses velléités d'évasion ?
eric
Bonsoir eriiic, Staple, le forum,
Non, "Ne pas déplacer ou dimensionner " ne fonctionne pas, je suis interpellé par une "simple coche' qui se présente comment ?
 

Discussions similaires

Statistiques des forums

Discussions
312 033
Messages
2 084 806
Membres
102 674
dernier inscrit
Eloels