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

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

Réponses
6
Affichages
148
Réponses
7
Affichages
286

Statistiques des forums

Discussions
312 177
Messages
2 085 971
Membres
103 073
dernier inscrit
MSCHOE16