savoir si une ligne contient au moins une cellule fusionnée

tonio44

XLDnaute Nouveau
Bonjour,

je voudrais savoir si une ligne contient au moins une cellule fusionné.
j étant le numéro de ligne.

J'ai écris cela:
Code:
If Range(Cells(j, 0), Cells(j, 0)).MergeCells = True Then 
msgbox "Il y a au moins une cellule fusionné" dans la ligne " & j
else
msgbox "Il n'y a pas de cellule fusionné dans la ligne " & j
end if

cela ne fonctionne pas.

J'ai essayé également:

Code:
If Range(j:j).MergeCells = True Then 
msgbox "Il y a au moins une cellule fusionné" dans la ligne " & j
else
msgbox "Il n'y a pas de cellule fusionné dans la ligne " & j
end if

je suis obliger de tester toute les colonnes sinon.

Merci à vous
 
C

Compte Supprimé 979

Guest
Re : savoir si une ligne contient au moins une cellule fusionnée

Bonjour Tonio44

Effectivement, tu es obligé, me semble t'il, de faire une boucle sur toutes les colonnes :p

A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : savoir si une ligne contient au moins une cellule fusionnée

Bonjour Tonio,
If Range(Cells(j, 0), Cells(j, 0)).MergeCells = True Then
ça ne peut pas fonctionner, il n'existe pas de colonne (ou de ligne) portant le numéro zéro

voir fichier joint

à+
Philippe

Edit: Bonjour Bruno
 

Pièces jointes

  • 111.xls
    41 KB · Affichages: 62
  • 111.xls
    41 KB · Affichages: 63
  • 111.xls
    41 KB · Affichages: 70
Dernière édition:

tonio44

XLDnaute Nouveau
Re : savoir si une ligne contient au moins une cellule fusionnée

Merci les gars.

Je vais me servir du code de phlaurent55 et l'adapter pour les colonnes. J'ai que 10 colonnes à vérifier.
Une ligne de code aurait été mieux ^^
 

JCGL

XLDnaute Barbatruc
Re : savoir si une ligne contient au moins une cellule fusionnée

Bonjour à tous,
Salut Philippe,
Salut bruno,

Avec le code de PhLaurent55 :

VB:
Sub Test_Merge()    'PhLaurent55 sur XLD
    For Lig = 1 To 100    ' ( Nb de lignes à adapter )
        For Col = 1 To 20    ' ( Nb de colonnes à adapter )
            If Cells(Lig, Col).MergeCells = True Then MsgBox ("La cellule " & Chr(64 + Col) & Lig & " est fusionnée")
        Next Col
    Next Lig
End Sub

A++ les amis
A + à tous
 

david84

XLDnaute Barbatruc
Re : savoir si une ligne contient au moins une cellule fusionnée

Bonjour à tous,
une variante :
Code:
Sub Test_Merge2()
   For Each c In ActiveSheet.UsedRange
           If c.MergeCells Then MsgBox ("La cellule " & c.Address & " est fusionnée")
    Next c
End Sub
A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : savoir si une ligne contient au moins une cellule fusionnée

Re,

voir fichier joint

à+
Philippe

Edit: Bonjour Jean-Claude, David

Edit2: Nouvelle pièce jointe
 

Pièces jointes

  • 111.xls
    43.5 KB · Affichages: 67
  • 111.xls
    43.5 KB · Affichages: 67
  • 111.xls
    43.5 KB · Affichages: 70
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : savoir si une ligne contient au moins une cellule fusionnée

RE,
Bonjour à tous,
re Philippe,

Penses-tu qu'il soit possible lister les cellule fusionnées par plage de fusion :



A++
A + à tous
@ Jean-Claude:

c'est ce que j'ai essayé de faire mais sans y arriver
en fait For Each effectue un balayage de gauche à droite dans 1ère ligne
et passe ensuite aux lignes suivantes de haut en bas

c'est peut-être possible en stockant les coordonnées des plages fusionnées dans un tableau et ensuite effectuer un tri/classement avant de les afficher

ou alors, attendre que Roger passe par ce fil ................. je prépare le Doliprane en attendant sa venue

DOLIPRANE : Traitement symptomatique des douleurs d'intensité légère à modérée et/ou des états fébriles faisant suite à la tentative de comprendre les codes de Roger .......... et Bruno

à+
Philippe
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : savoir si une ligne contient au moins une cellule fusionnée

Re
Bonjour à tous,
re Philippe,

Penses-tu qu'il soit possible lister les cellule fusionnées par plage de fusion :

Les cellules fusionnées sont : A3:A5, J4:J5, I8:I9, C11:F11, J11:J12, C20:H20
Il doit y avoir plus simple mais un 1er test effectué sur le dernier fichier de Philippe :
Code:
Sub Plages_fusionnées()
Dim T(), d As Object, i As Long
   For Each c In ActiveSheet.Range("A1:J20")
           If c.MergeCells Then
                ReDim Preserve T(0 To i)
                T(i) = c.MergeArea.Address
                i = i + 1
           End If
    Next c
    Set d = CreateObject("scripting.dictionary")
    For i = 1 To UBound(T)
        d(T(i)) = d(T(i))
    Next i
   MsgBox "les plages fusionnées sont " & Join(d.keys)
End Sub
A+
 

david84

XLDnaute Barbatruc
Re : savoir si une ligne contient au moins une cellule fusionnée

Re re,
il y a plus simple :
Code:
Sub Plages_fusionnées2()
Dim d As Object
    Set d = CreateObject("scripting.dictionary")
   For Each c In ActiveSheet.Range("A1:J20")
        If c.MergeCells Then d(c.MergeArea.Address) = d(c.MergeArea.Address)
    Next c
   MsgBox "les plages fusionnées sont : " & Join(d.keys)
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 282
Messages
2 086 757
Membres
103 389
dernier inscrit
DEDE86