Fonsion de plusieurs celulles avec conditions ds plusieurs colon
Résolu/Fermé
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
-
28 déc. 2016 à 22:08
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 - 29 déc. 2016 à 08:42
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 - 29 déc. 2016 à 08:42
2 réponses
yg_be
Messages postés
22625
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
1 461
29 déc. 2016 à 00:45
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
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
22625
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
29 mars 2024
1 461
29 déc. 2016 à 00:58
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
Cabrina
Messages postés
248
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
13 mars 2024
6
29 déc. 2016 à 08:42
29 déc. 2016 à 08:42
Merci beaucoup la macro fonctionne parfaitement...