Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Problème avec SelectionChange

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J’ai un tableau avec des cellules vert pâle alignées sur une colonne. Quand on clique sur une de ces cellules (et uniquement sur elles) apparaît un CommandButton. Dès que l’on clique sur n’importe quelle autre cellule de la feuille, le CommandButton est occulté.

Quand on rentre une valeur quelconque dans une des cellules du tableau, automatiquement, après avoir validé, la cellule de la prochaine saisie est sélectionnée pour y recevoir sa nouvelle valeur, et ainsi de suite.

Le problème réside dans le fait que, lorsqu’on rentre une valeur dans la 1ère cellule du tableau (colonne verte), le CommandButton est déjà forcément présent (puisqu’on a au préalable sélectionné la cellule) et, après validation de la valeur saisie, la cellule immédiatement à sa droite est sélectionnée, et le CommandButton devrait alors être occulté. Ce problème apparaît curieusement avec la 1ère et la 3ème cellule de la colonne verte, mais en revanche pas avec les 2ème et 4ème cellules de cette même colonne.

J’ai essayé toutes les combinaisons qui me sont venues à l’esprit sans pouvoir régler ce problème : faire en sorte que le CommandButton soit occulté après validation de la 1ère cellule et de la 3ème cellule de la colonne verte.
 

Pièces jointes

  • PB.xlsm
    128.5 KB · Affichages: 26

pierrejean

XLDnaute Barbatruc
Bonjour Magic Doctor
Vois si cela va mieux
Explication: Meme si la sélection est forcée a droite la sélection de l'option avancées :déplacer la section vers est activée
 

Pièces jointes

  • PB.xlsm
    108.4 KB · Affichages: 11

job75

XLDnaute Barbatruc
Bonjour Magic_Doctor, Pierre,

Dans la Worksheet_SelectionChange remplacer :
VB:
Bouton_Copy.Visible = Not Intersect(Target, [Col_DMS_Deg2]) Is Nothing
par :
VB:
Bouton_Copy.Visible = Not Intersect(ActiveCell, [Col_DMS_Deg2]) Is Nothing
A+
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour job, pierrejean,

Pas pu répondre avant.

Effectivement, en remplaçant “Target” par “ActiveCell“ ça règle le problème.

J’ai essayé de mieux comprendre en suivant ton conseil. Si on clique sur une cellule quelconque, il n’y a apparemment aucune différence. En revanche, si on clique sur une plage de cellules fusionnées, Target renvoie l’adresse de toute la plage de cellules fusionnées, alors que ActiveCell uniquement l’adresse de la 1ère cellule de cette même plage. Si je me souviens bien, tu m’avais résolu un problème similaire avec des plages de cellules fusionnées. Mais ici il ne s’agit pas d’une plage de cellules fusionnées, mais d’une plage nommée, et le problème n’apparaissait qu’avec la 1ère et 3ème cellules de cette plage.

En tout cas, merci pour ton aide.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…