XL 2016 Combobox et cellules fusionnées

Jean_Valjean

XLDnaute Nouveau
Supporter XLD
Bonjour,

Je rencontre un souci avec des combobox sur cellules fusionnées : sur ma feuille 3 combobox sont activées sur des plages de cellules pour une saisie intuitive des données. Lorsque le combo est positionné sur une cellule simple cela fonctionne sans très bien (ex : D6), mais j'ai 2 cas où les combo sont sur des cellules fusionnées (ex : K32) et là le combobox n'apparait plus (Cf. fichier joint).

Je bloque un peu sur la manière de définir cette plage de cellules fusionnées tout en gardant la saisie intuitive.
 

Pièces jointes

  • Combobox_multiple_V2.xlsm
    58.2 KB · Affichages: 10

Phil69970

XLDnaute Barbatruc
Bonjour @Jean_Valjean

J'ai redimensionné les combobox et cela semble bien fonctionner

1646396413965.png


*Merci de ton retour

@Phil69970
 

Pièces jointes

  • Combobox_multiple_V3.xlsm
    50.4 KB · Affichages: 10

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans votre code évènementiel "Worksheet_SelectionChange" vous avez défini la plage aSaisie ainsi :

=Range("K32:K35")

Mais comme ce sont des cellules fusionnées en ligne votre plage doit être : Range("K32:R35")

Plus bas vous avez un test

If Not Intersect(aSaisie, Target) Is Nothing And Target.Count = 1

Pour aSaisie Target.Count ne sera jamais égal à 1.

Vous pouvez éventuellement remplacer ce 1 par 8 (nombre de cellules fusionnées sur la ligne)
Eventuellement ajouter le nombre de lignes :

Target.Rows:.Count = 1 And Target.Count = 8

cordialement
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Si tu laisses tes cellules fusionnées, il faut changer la valeur de aSaisie.
Il faut mettre Range("K32:R35") au lieu de Range("K32:K35").

Et il ne faut plus tester Target.count par rapport à 1 mais par rapport à 8.


[edit]Arf... grilled 😁[/edit]
 

Jean_Valjean

XLDnaute Nouveau
Supporter XLD
Bonjour,

Dans votre code évènementiel "Worksheet_SelectionChange" vous avez défini la plage aSaisie ainsi :



Mais comme ce sont des cellules fusionnées en ligne votre plage doit être : Range("K32:R35")

Plus bas vous avez un test



Pour aSaisie Target.Count ne sera jamais égal à 1.

Vous pouvez éventuellement remplacer ce 1 par 8 (nombre de cellules fusionnées sur la ligne)
Eventuellement ajouter le nombre de lignes :



cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Il me semble que vous avez maintenant les clefs pour comprendre pourquoi Target ne représente pas une seule cellule, adapter vos macros en fonction et commencer à être autonome

cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 864
dernier inscrit
abderrashmaen