Floranchik
XLDnaute Nouveau
Bonjour à toutes et tous,
je bute depuis longtemps sur ce problème. Je vais être un peu long mais mieux vaut donner déjà un certain nombre de détails.
Je suis sous Excel 2010.
CE QUE JE VEUX FAIRE : au début de l'utilisation de la feuille, je dois effectuer un choix binaire (2 cases d'option). selon ce choix, soit les 20 lignes du dessous deviennent inutiles et dans ce cas je les masque (par macro affectée à la 1ère case d'option), soit ce sont les 20 lignes suivantes, et ce sont alors celles-ci que je masque (macro sur la 2ème case).
Je précise que mes 2 fois 20 lignes contiennent d'autres cases d'option et case à cocher (contrôle de formulaire) et que c'est sur celles-ci que se situe le problème : elles perdent leur cellule liée. Toutes sont en option "déplacer et dimensionner avec les cellules".
La macro affectée aux 2 cases fait même un peu plus, lorsqu'elle affiche une zone, au passage elle masque l'autre en la nettoyant, c'est à dire en supprimant dans les cellules liées (selection.clearcontents) les valeurs éventuellement générées par cochage : vrai, faux, 1, 2, 3, etc...
PROBLEME : parfois, et c'est totalement aléatoire (enfin jusque là il m'a toujours semblé), lorsque je réaffiche mes lignes, certaines cases ont PERDU leur cellule liée, ou sont liées à des cellules qui correspondent à des cases situées plusieurs lignes plus haut, etc. : comme si les cases s'étaient mêlées à une autre zone de groupage pendant qu'elles étaient masquées.
Je croyais solutionner le problème en ne faisant pas selection.clearcontents mais en écrivant dans la macro, pour chaque case un bout de code du type :
Activesheet.shapes.range(array("check box xxxx")).select with selection
value = xloff (pour le nettoyage, donc)
Linkedcell = "$P$20" (pour être sûr de RE-lier la case à la bonne cellule)
End with
et bien non ! même comme ça, le fait de finir la macro par worksheets("Feuil1").Rows("41:62").hidden=False (ou true) me "délie", de temps en temps (!) mes cases à cocher et cases d'option.
Quelqu'un aurait il une idée? il y a manifestement quelque chose dans la programmation objet qui m'échappe (modestement, je dirais tout). La preuve, je n'arrive pas non plus dans VBA à afficher les propriétés des cases à cocher ou d'option, au point que je ne sais pas non plus modifier la police ni la taille (d'ailleurs, cela aussi, j'aimerais le solutionner)
Quelque fois, c'est encore différent, lorsque je déploie les lignes, certaines zones de groupages se sont totalement écrasées...
Merci à tous pour votre aide.
Florent
je bute depuis longtemps sur ce problème. Je vais être un peu long mais mieux vaut donner déjà un certain nombre de détails.
Je suis sous Excel 2010.
CE QUE JE VEUX FAIRE : au début de l'utilisation de la feuille, je dois effectuer un choix binaire (2 cases d'option). selon ce choix, soit les 20 lignes du dessous deviennent inutiles et dans ce cas je les masque (par macro affectée à la 1ère case d'option), soit ce sont les 20 lignes suivantes, et ce sont alors celles-ci que je masque (macro sur la 2ème case).
Je précise que mes 2 fois 20 lignes contiennent d'autres cases d'option et case à cocher (contrôle de formulaire) et que c'est sur celles-ci que se situe le problème : elles perdent leur cellule liée. Toutes sont en option "déplacer et dimensionner avec les cellules".
La macro affectée aux 2 cases fait même un peu plus, lorsqu'elle affiche une zone, au passage elle masque l'autre en la nettoyant, c'est à dire en supprimant dans les cellules liées (selection.clearcontents) les valeurs éventuellement générées par cochage : vrai, faux, 1, 2, 3, etc...
PROBLEME : parfois, et c'est totalement aléatoire (enfin jusque là il m'a toujours semblé), lorsque je réaffiche mes lignes, certaines cases ont PERDU leur cellule liée, ou sont liées à des cellules qui correspondent à des cases situées plusieurs lignes plus haut, etc. : comme si les cases s'étaient mêlées à une autre zone de groupage pendant qu'elles étaient masquées.
Je croyais solutionner le problème en ne faisant pas selection.clearcontents mais en écrivant dans la macro, pour chaque case un bout de code du type :
Activesheet.shapes.range(array("check box xxxx")).select with selection
value = xloff (pour le nettoyage, donc)
Linkedcell = "$P$20" (pour être sûr de RE-lier la case à la bonne cellule)
End with
et bien non ! même comme ça, le fait de finir la macro par worksheets("Feuil1").Rows("41:62").hidden=False (ou true) me "délie", de temps en temps (!) mes cases à cocher et cases d'option.
Quelqu'un aurait il une idée? il y a manifestement quelque chose dans la programmation objet qui m'échappe (modestement, je dirais tout). La preuve, je n'arrive pas non plus dans VBA à afficher les propriétés des cases à cocher ou d'option, au point que je ne sais pas non plus modifier la police ni la taille (d'ailleurs, cela aussi, j'aimerais le solutionner)
Quelque fois, c'est encore différent, lorsque je déploie les lignes, certaines zones de groupages se sont totalement écrasées...
Merci à tous pour votre aide.
Florent