Disparition de cases à cocher ActiveX
Résolu
Ereinion
-
Kayma2t Messages postés 5 Statut Membre -
Kayma2t Messages postés 5 Statut Membre -
Bonjour,
Je suis en train d'effectuer un questionnaire sous Excel dans lequel j'utilise une partie macro et une partie avec des contrôles activeX (case à cocher et case d'options).
Ma macro permet d'effectuer un masquage de lignes afin que seul le sommaire apparaisse, puis de les afficher en fonction du choix effectué sur un menu déroulant.
Lorsque j'enregistre les modifications, tout semble fonctionner. Au bout d'un moment et d'un nombre de redémarrage du fichier (j'ai effectué plusieurs sauvegardes/redémarrage pour test), les cases à cocher et case d'options disparaissent complètement de mon fichier.
Si je fonctionne avec des contrôles de formulaires au lieux d'activeX, les cases ne disparaissent pas, mais elles ne sont pas masquées en même temps que les lignes (la ligne est masquée mais les cases à cocher restent apparente).
Connaitriez vous une solutions s'il vous plait ?
PC MSI GX660R - i7 Q740 - 4GO de ram - Win 7 64 - Office Pro 2010.
Merci pour toute votre aide
Je suis en train d'effectuer un questionnaire sous Excel dans lequel j'utilise une partie macro et une partie avec des contrôles activeX (case à cocher et case d'options).
Ma macro permet d'effectuer un masquage de lignes afin que seul le sommaire apparaisse, puis de les afficher en fonction du choix effectué sur un menu déroulant.
Lorsque j'enregistre les modifications, tout semble fonctionner. Au bout d'un moment et d'un nombre de redémarrage du fichier (j'ai effectué plusieurs sauvegardes/redémarrage pour test), les cases à cocher et case d'options disparaissent complètement de mon fichier.
Si je fonctionne avec des contrôles de formulaires au lieux d'activeX, les cases ne disparaissent pas, mais elles ne sont pas masquées en même temps que les lignes (la ligne est masquée mais les cases à cocher restent apparente).
Connaitriez vous une solutions s'il vous plait ?
PC MSI GX660R - i7 Q740 - 4GO de ram - Win 7 64 - Office Pro 2010.
Merci pour toute votre aide
A voir également:
- Disparition de cases à cocher ActiveX
- Case à cocher libre office - Forum LibreOffice / OpenOffice
- Supprimer case à cocher excel ✓ - Forum Excel
- Supprimer des cases à cocher (Excel 2003) - Forum Excel
- Raccourci clavier case à cocher - Forum Clavier
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? - Forum Graphisme
2 réponses
Bonjour,
Si on regarde un peu dans différents forum on voit que c'est un bug d'Excel 2010 ou peut-être dans d'autres versions aussi.
En fait lorsque l'on masque les lignes qui contiennent des contrôles activeX et que l'on sauvegarde, ils disparaissent.
En réalité, j'ai testé, ils ne disparaissent pas mais la hauteur passe à 0 et la position en hauteur est modifiée.
D'où la solution de contournement (en attendant une correction de la part de Microsoft) que je propose est de stoker ces infos et de les restituer. Grace à des macros que l'on peut d'ailleurs activer automatiquement à la fermeture puis à l'ouverture du classeur.
Le principe est simple je mémorise la position et la hauteur dans la feuille "CTRL" puis je restitue.
J'ai testé cela fonctionne.
A+
Cordialement,
Si on regarde un peu dans différents forum on voit que c'est un bug d'Excel 2010 ou peut-être dans d'autres versions aussi.
En fait lorsque l'on masque les lignes qui contiennent des contrôles activeX et que l'on sauvegarde, ils disparaissent.
En réalité, j'ai testé, ils ne disparaissent pas mais la hauteur passe à 0 et la position en hauteur est modifiée.
D'où la solution de contournement (en attendant une correction de la part de Microsoft) que je propose est de stoker ces infos et de les restituer. Grace à des macros que l'on peut d'ailleurs activer automatiquement à la fermeture puis à l'ouverture du classeur.
Sub mémoriser()
Dim Ctrl As Object
Lig = 2
For Each Ctrl In ActiveSheet.Shapes
Sheets("CTRL").Cells(Lig, 1) = Ctrl.Name
Sheets("CTRL").Cells(Lig, 3) = Ctrl.Top
Sheets("CTRL").Cells(Lig, 4) = Ctrl.Height
Lig = Lig + 1
Next Ctrl
End Sub
Sub restituer()
Dim Ctrl As Object
Lig = 2
With Sheets("CTRL")
While .Cells(Lig, 1) <> ""
ActiveSheet.Shapes(.Cells(Lig, 1)).Top = .Cells(Lig, 3)
ActiveSheet.Shapes(.Cells(Lig, 1)).Height = .Cells(Lig, 4)
Lig = Lig + 1
Wend
End With
End Sub
Le principe est simple je mémorise la position et la hauteur dans la feuille "CTRL" puis je restitue.
J'ai testé cela fonctionne.
A+
Cordialement,
Merci pour cette réponse : j'essai de retrouver tous mes activeX masqué pour tester.
Par contre j'ai plusieurs feuilles concernées : faut il créer autant de feuilles type CTRL que de feuilles à "protéger ?
Par contre j'ai plusieurs feuilles concernées : faut il créer autant de feuilles type CTRL que de feuilles à "protéger ?
Bonjour,
Tout d'abord merci pour l'aide. Finalement j'ai opté pour une autre solution que celle proposée. J'ai dans un premier temps effectué un réglage de tous les objets pour leur rendre la position et la taille initiale.
Ensuite, j'ai effectué 2 macro :
- la première fait réapparaitre à la fermeture du fichier toutes les lignes cachées (afin d'éviter le désagrément des pertes de position et de taille des activeX)
- la deuxième se lance dès l'ouverture du fichier et masque toutes les lignes ne faisant pas partie du sommaire de chaque feuilles.
Pour l'instant cela me donne l'impression de bien fonctionner.
Je considère donc le sujet comme résolu.
Tout d'abord merci pour l'aide. Finalement j'ai opté pour une autre solution que celle proposée. J'ai dans un premier temps effectué un réglage de tous les objets pour leur rendre la position et la taille initiale.
Ensuite, j'ai effectué 2 macro :
- la première fait réapparaitre à la fermeture du fichier toutes les lignes cachées (afin d'éviter le désagrément des pertes de position et de taille des activeX)
- la deuxième se lance dès l'ouverture du fichier et masque toutes les lignes ne faisant pas partie du sommaire de chaque feuilles.
Pour l'instant cela me donne l'impression de bien fonctionner.
Je considère donc le sujet comme résolu.