Fonsion de plusieurs celulles avec conditions ds plusieurs colon
Résolu
Cabrina
Messages postés
273
Statut
Membre
-
Cabrina Messages postés 273 Statut Membre -
Cabrina Messages postés 273 Statut Membre -
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
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
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
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
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
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 586
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