VBA sur cellule fusionnées ne fonctionne pas

paul56

XLDnaute Nouveau
Bonjour à tous,

Je n'y connais rien en programmation, je fouille, je copie et je colle... Là je bloque pour un truc qui doit être simple comme tout, mais comme je n'y comprends pas grand chose (à vrai dire presque rien ....)

voilà mon problème :

J'ai copié une macro (ouverture d'un calendrier) qui marche sur une série de cellule unique.
Mais quand je remplace cette série par une plage de cellule fusionnées plus de réaction !

sur les forums j'ai bien vu qu'il fallait remplacer la série("B12,C12,D12,E12") par ("B12:E12), mais la macro ne réagit pas.

Ci dessous mon code, merci de me proposer une correction. Ca bloque au niveau de ("B12:E12") cellules qui sont fusionnées directement par le bandeau dans une feuille excel


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim UnJour As Date
If Target.Count = 1 And Not Intersect(Target, Range("B12:E12")) Is Nothing Then
UnJour = FormCal.Calendrier
If UnJour <> 0 Then
Target = Format(UnJour, "mm/dd/yyyy")
Target.Offset(0, -1).Select
Else
Target = ""
Target.Offset(0, -1).Select
End If
End If
End Sub

merci de votre aide
 

mécano41

XLDnaute Accro
Re : VBA sur cellule fusionnées ne fonctionne pas

Bonjour à tous,

En dehors de tout autre problème, il n'est pas recommandé de travailler en VBA sur des cellules fusionnées (même si cela fonctionne la plupart du temps) ; il vaut mieux coder en référence à la première cellule et utiliser "Centrer sur plusieurs colonnes" au lieu de "Fusionner les cellules" pour centrer un titre dans une plage de la feuille.

Cordialement
 

camarchepas

XLDnaute Barbatruc
Re : VBA sur cellule fusionnées ne fonctionne pas

Bonjour Mécano ,

Et oui , d'autant plus lorsque l'on est débutant ,
Souvent , c'est plus rapide de refaire le papier peint que le moteur . (Là , il faut mettre les mains dans le cambouis jusqu'au coude , lol)
 

paul56

XLDnaute Nouveau
Re : VBA sur cellule fusionnées ne fonctionne pas

Bonjour,
merci pour vos réponses,en suivant l'indication de camarchepas, j'ai à tout hasard, remplacé If Target.Count = 1 par If Target.Count = 4 (de b12 à e12 il y 4 cellule !!!) et ça marche super.
j'ai essayé "centrer sur plusieurs colonnes", mais ça ne me convient pas car il faut déverrouiller qu'une seule cellule de la plage ou est centrée la date.

en tous cas merci beaucoup pour les conseils
paul56
 

Discussions similaires

Statistiques des forums

Discussions
312 864
Messages
2 093 014
Membres
105 607
dernier inscrit
Grospsdresbois