Sélection d'une ligne appartenant à une plage fusionnée

Bonjour à tous !

Je suis nouvel inscrit au Forum (j'ai déjà lu des centaines de topics mais je n'ai jamais posté !).

Voici mon problème que j'ai essayé de simplifier au maximum :

Je souhaite sélectionner la première ligne d'une plage fusionnée.

Admettons que ma plage A4:D6 soit fusionnée, je souhaite sélectionner la ligne 4.

Je tape donc : Range("4:4").Select

Et là, Excel (pour je ne sais quelle raison) me sélectionne les lignes de 4 à 6 !!!

Je vous joins l'exemple très basique mais qui illustre bien mon problème.

26exemple.xlsm (16.63 Ko)

J'ai essayé une autre technique qui consistait à sélectionner la plage E4 qui elle n'est pas fusionnée et à sélectionner la ligne entière associée par ce biais :

Range("E4").select

Selection.EntireRow.select

Mais en vain, cela ne fonctionne pas mieux !!!

C'est le seul bug d'un fichier relativement conséquent et je ne m'en sors pas...

Merci beaucoup aux personnes qui m'accorderont du temps pour résoudre ce souci !

Très cordialement

Alexandre

Bonjour et bienvenue sur le forum

Deux remarques :

1 - Te ne dois pas donner à une macro le nom d'un mot-clef de VBA :""sub Selection" doit être remplacé par autre chose.

2 - Tu dois commencer par défusionner les cellules de la ligne que tu veux sélectionner.

Essaie ce code :

Sub Selectionner()
    Range("4:4").Select
    Selection.UnMerge
    Range("4:4").Select
End Sub

Bonjour gmb,

Je te remercie pour ta réponse.

1) effectivement j'ai modifié par selectionner le nom de la sub.

2) Cela ne me convient pas sous cette forme car je dois conserver la mise en forme d'origine fusionnée (ou tout du moins la rétablir après avoir effectué ma sélection).

L'objectif de ma manipulation est de créer une seule ligne vierge entre A3 et A4 quel que soit la fusion de la cellule A3 ou A4 avec d'autres cellules.

Les étapes sont donc :

sélection la ligne 4 (et uniquement 4) puis créer une nouvelle ligne par la commande :

Selection.Insert Shift:=xlDown, copyorigin:=xlFormatFromLeftOrAbove

Avec le clavier ou la souris cela marche parfaitement.

Avec vba, cela ne marche pas du tout !

Merci par avance pour vos réponses.

J'ai trouvé un topic sur un autre forum traitant d'une question similaire.

Voici une réponse qui semble fonctionner :

Cells(4, 1).EntireRow.Insert

ou

Range("A4").EntireRow.Insert

Je teste un peu et je viendrais mettre résolu une fois que j'en serais sûr !

Rechercher des sujets similaires à "selection ligne appartenant plage fusionnee"