Fonsion de plusieurs celulles avec conditions ds plusieurs colon
Résolu/Fermé
Cabrina
Messages postés
240
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
27 février 2023
-
28 déc. 2016 à 22:08
Cabrina Messages postés 240 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 27 février 2023 - 29 déc. 2016 à 08:42
Cabrina Messages postés 240 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 27 février 2023 - 29 déc. 2016 à 08:42
A voir également:
- Fonsion de plusieurs celulles avec conditions ds plusieurs colon
- Fonction rang excel avec plusieurs conditions ✓ - Forum Excel
- Emulateur ds mac ✓ - Forum MacOS
- Sommeprod plusieurs conditions ✓ - Forum Excel
- SOMMEPROD avec 2 conditions ✓ - Forum Excel
- Php if plusieurs conditions ✓ - Forum PHP
2 réponses
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
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
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
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
240
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
27 février 2023
2
29 déc. 2016 à 08:42
29 déc. 2016 à 08:42
Merci beaucoup la macro fonctionne parfaitement...