Compter cellule fusionnées comme une cellule et non plusieurs

Fermé
Ayting69 Messages postés 38 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 23 mai 2023 - 20 avril 2020 à 07:15
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 20 avril 2020 à 16:53
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 avril 2020 à 09:47
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 samedi 18 juin 2016 Statut Membre Dernière intervention 23 mai 2023
20 avril 2020 à 10:39
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > Ayting69 Messages postés 38 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 23 mai 2023
20 avril 2020 à 12:03
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 samedi 18 juin 2016 Statut Membre Dernière intervention 23 mai 2023
Modifié le 20 avril 2020 à 12:32
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
20 avril 2020 à 16:02
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
20 avril 2020 à 16:53
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