Compter cellule fusionnées comme une cellule et non plusieurs

Ayting69 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis sous Excel 2019


J'ai fais un tableau ou je compte les cellule par couleurs avec les fonctions NB_SI_COULEUR et NO_COULEUR

Le problème c'est que par exemple si je fusionne 3 cellule, la fonction compte 3 cellule et non pas une seule.

Est il possible de programmer excel pour qu'il compte qu'une cellule fusionnée est égale à une cellule peu importe combien ont étés fusionnées ?


Merci d'avance.
A voir également:

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

voici le code pour détecter les cellules fusionnées. A adapter à ton environnement

Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
 derligne = Range("A" & Rows.Count).End(xlUp).Row
For Each cellule In Range("A1:A" & derligne) 'adapter plage cellule
If Range(cellule.Address).MergeCells Then
'ton code
End If
Next cellule
End Sub


0
Ayting69 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse, je suis un utilisateur très casu donc j'ai regarder où et comment entrer ce code donc j'ai trouver j'ai rentrer le code dans insertion module :

Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
derligne = Range("A" & Rows.Count).End(xlUp).Row
For Each cellule In Range("C3:C8000" & derligne)
If Range(cellule.Address).MergeCells Then
End If
Next cellule
End Sub


J'ai enlever la partie "ton code" car je n'en ai pas tout simplement et.. ensuite j'ai essayé d'enregistrer puis d'actualiser le comptage mais ça ne fonctionne pas donc qu'est ce qu'il faut faire pour que ça fonctionne ?
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > Ayting69 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 
Voici un exemple avec la recherche d'un mot avec des cellules fusionnées. Tu peux l'adapter avec les couleurs:

https://www.commentcamarche.net/faq/18089-vba-tester-une-plage-qui-contient-des-cellules-fusionnees

voilà ton code corrigé:

Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
derligne = Range("C" & Rows.Count).End(xlUp).Row
For Each cellule In Range("C3:C" & derligne)
If Range(cellule.Address).MergeCells Then
End If
Next cellule
End Sub
0
Ayting69 Messages postés 38 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse, j'ai essayé de comprendre mais honnêtement je ne pige rien, quand je rentre le code dans insertion module et que je test rien ne se passe


Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
derligne = Range("C" & Rows.Count).End(xlUp).Row
For Each cellule In Range("C3:C" & derligne)
If Range(cellule.Address).MergeCells Then
Col = C
Color = "NO_COULEUR(A3;A6)"
End If
Next cellule
End Sub


et ça me met une erreur

en plus une fois que je rentre le code je clique sur executer mais je sais même pas si c'est ça qu'il faut faire

Bref du coup ce que j'ai fais c'est que j'ai modifié légèrement les couleurs des cellule ou il y'a du vide pour que ça soit invisible à l'oeil nu et que le code couleur soit différent et ça marche, pas automatique mais bien moins compliqué que tout ce schmilblick ! Je me suis aventuré sur un terrain un peu trop épineux pour moi, merci pour ta contribution ^^
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Voici un exemple pour détecter les cellules fusionnées

Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
derligne = Range("C" & Rows.Count).End(xlUp).Row
For Each cellule In Range("C3:C" & derligne)
If Range(cellule.Address).MergeCells Then
MsgBox "cellule fusionnées," & cellule.Address & " code couleur: " & cellule.Interior.ColorIndex
End If
MsgBox "cellule," & cellule.Address & " code couleur: " & cellule.Interior.ColorIndex
Next cellule
End Sub


a adapter
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Est il possible de programmer excel pour qu'il compte qu'une cellule fusionnée est égale à une cellule peu importe combien ont étés fusionnées ?

comme ceci, à adapter
Sub detecteFusion()
Dim cellule As Range
Dim derligne As Long
Dim i As Integer, j As Integer
derligne = Range("C" & Rows.Count).End(xlUp).Row
For Each cellule In Range("C3:C" & derligne)
If Range(cellule.Address).MergeCells Then
'MsgBox "cellule fusionnées," & cellule.Address & " code couleur: " & cellule.Interior.ColorIndex
j = cellule.Count
j = j + 1
Else
'MsgBox "cellule," & cellule.Address & " code couleur: " & cellule.Interior.ColorIndex
i = i + 1
End If
Next cellule
MsgBox i + j
End Sub


@+ Le Pivert
0