Fonsion de plusieurs celulles avec conditions ds plusieurs colon

Résolu/Fermé
Cabrina
Messages postés
230
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
25 mai 2022
- 28 déc. 2016 à 22:08
Cabrina
Messages postés
230
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
25 mai 2022
- 29 déc. 2016 à 08:42
Bonjour,

Je voudrais fusionner plusieurs cellules dans un tableau de 7 colonnes

Exemple à partir de mon fichier joint:

Je voudrais avoir une fusion sur les cellules de B1 à B6 et par exemple également de D64 à D98 et E3 à E7

En fait quand il y a la même référence dans plusieurs cellules que cela me les fusionne avec la référence qu'il y a dans la première.

Sachant que c'est un tableau de production donc les fusions changeront toutes les semaines.

Ci-joint mon fichier:

https://www.cjoint.com/c/FLClouM7xht

Configuration: Configuration: Configuration: Windows 7 / Internet Explorer 10.0

2 réponses

yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
29 déc. 2016 à 00:45
moi je trouve qu'il faut faire ceci, tu es d'accord?
il faut fusionner colonne 2 de 3 à 6
il faut fusionner colonne 2 de 7 à 10
il faut fusionner colonne 2 de 11 à 22
il faut fusionner colonne 2 de 23 à 35
il faut fusionner colonne 2 de 36 à 41
il faut fusionner colonne 2 de 42 à 65
il faut fusionner colonne 2 de 66 à 77
il faut fusionner colonne 2 de 78 à 83
il faut fusionner colonne 2 de 84 à 98
il faut fusionner colonne 3 de 3 à 23
il faut fusionner colonne 3 de 24 à 96
il faut fusionner colonne 4 de 3 à 63
il faut fusionner colonne 4 de 64 à 98
il faut fusionner colonne 5 de 3 à 7
il faut fusionner colonne 5 de 8 à 72
il faut fusionner colonne 5 de 73 à 85
il faut fusionner colonne 5 de 86 à 98
il faut fusionner colonne 6 de 3 à 9
il faut fusionner colonne 6 de 10 à 37
il faut fusionner colonne 6 de 38 à 71
il faut fusionner colonne 6 de 73 à 98
il faut fusionner colonne 7 de 3 à 8
il faut fusionner colonne 7 de 9 à 38
il faut fusionner colonne 7 de 39 à 62
il faut fusionner colonne 7 de 63 à 82
il faut fusionner colonne 7 de 83 à 98
il faut fusionner colonne 8 de 3 à 14
il faut fusionner colonne 8 de 15 à 22
il faut fusionner colonne 8 de 23 à 26
0
yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
29 déc. 2016 à 00:58
Je propose ceci:
Option Explicit

Sub cabrina()
Dim ws As Worksheet
Dim col As Long, lig As Long
Dim premfus As Long
Dim ancienne, nouvelle
Dim fusion As Range

Set ws = ActiveSheet
'Debug.Print "_____"
col = 2
lig = 3
nouvelle = ws.Cells(lig, col)
Do While nouvelle <> ""
    premfus = lig - 1
    ancienne = ""
    Do While nouvelle <> ""
        If ancienne <> nouvelle Then
            If premfus <> lig - 1 Then
                'il faut fusionner de premfus à lig-1
                'Debug.Print "il faut fusionner colonne " + CStr(col) + " de " + CStr(premfus) + " à " + CStr(lig - 1)
                Set fusion = Range(ws.Cells(premfus, col), ws.Cells(lig - 1, col))
                fusion.Clear
                fusion.Merge
                fusion = ancienne
                fusion.VerticalAlignment = xlCenter
            End If
            premfus = lig
        End If
        ancienne = nouvelle
        lig = lig + 1
        nouvelle = ws.Cells(lig, col)
    Loop 'Do While ws.Cells(lig, col) <> ""
    If premfus <> lig - 1 Then
        'il faut fusionner de premfus à lig-1
        'Debug.Print "il faut fusionner colonne " + CStr(col) + " de " + CStr(premfus) + " à " + CStr(lig - 1)
        Set fusion = Range(ws.Cells(premfus, col), ws.Cells(lig - 1, col))
        fusion.Clear
        fusion.Merge
        fusion = ancienne
        fusion.VerticalAlignment = xlCenter
    End If
    col = col + 1
    lig = 3
    nouvelle = ws.Cells(lig, col)
Loop 'While ws.Cells(3, col) <> ""
End Sub
0
Cabrina
Messages postés
230
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
25 mai 2022
2
29 déc. 2016 à 08:42
Merci beaucoup la macro fonctionne parfaitement...
0