J'ai besoin d'1 coup de main pour écrire les qqes lignes de code me
permettant de parcourir ma feuille excel de la ligne 1 à la dernière qui
lorsque dans la colonne C la valeur est identique, fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes blanches
alternativement.
Ex :
A B C
L1 2004 MM 01
L2 2004 MO 01
L3 2004 MD 01
L4 2005 MF 02
L5 2005 LM 05
L6 2006 SS 03
L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C
ligne 4 fond blanc
ligne 5 fond gris
ligne 6 et 7 fond blanc fusion des cellelules C
..... fond blanc
..... fond gris
cad d'avoir l'équivalent dans la barre d'outil "fusionner et centrer", en fait 1 seule cellule pour ne pas répéter plusieurs fois la même valeur.
@+
"AV" a écrit dans le message de news:
Qu'entends-tu par "fusionner ces cellules et ces lignes" ?
AV
Vincnet.
Bonjour,
A placer dans un module du fichier à retraiter...
Option Explicit Sub zozo()
Dim LastR, i, j As Long Dim Blanc As Boolean
Application.DisplayAlerts = False With ThisWorkbook.Worksheets("Feuil1") LastR = .Range("C65536").End(xlUp).Row j = 1 Blanc = True For i = 1 To LastR If .Cells(i, 3).Value <> .Cells(i + 1, 3).Value Then If j <> i Then .Range(.Cells(j, 3), .Cells(i, 3)).Merge .Range(.Cells(j, 3), .Cells(i, 3)).VerticalAlignment = xlCenter End If If Blanc Then: .Range(.Cells(j, 1), .Cells (i, 3)).Interior.ColorIndex = 15 j = i + 1 Blanc = Not Blanc End If Next i End With Application.DisplayAlerts = True
End Sub
Ca devrait le faire...
-----Message d'origine----- Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes de code me
permettant de parcourir ma feuille excel de la ligne 1 à la dernière qui
lorsque dans la colonne C la valeur est identique, fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes blanches
alternativement.
Ex : A B C L1 2004 MM 01 L2 2004 MO 01 L3 2004 MD 01 L4 2005 MF 02 L5 2005 LM 05 L6 2006 SS 03 L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C ligne 4 fond blanc ligne 5 fond gris ligne 6 et 7 fond blanc fusion des cellelules C ..... fond blanc ..... fond gris
Merci beaucoup
.
Bonjour,
A placer dans un module du fichier à retraiter...
Option Explicit
Sub zozo()
Dim LastR, i, j As Long
Dim Blanc As Boolean
Application.DisplayAlerts = False
With ThisWorkbook.Worksheets("Feuil1")
LastR = .Range("C65536").End(xlUp).Row
j = 1
Blanc = True
For i = 1 To LastR
If .Cells(i, 3).Value <> .Cells(i + 1,
3).Value Then
If j <> i Then
.Range(.Cells(j, 3), .Cells(i,
3)).Merge
.Range(.Cells(j, 3), .Cells(i,
3)).VerticalAlignment = xlCenter
End If
If Blanc Then: .Range(.Cells(j, 1), .Cells
(i, 3)).Interior.ColorIndex = 15
j = i + 1
Blanc = Not Blanc
End If
Next i
End With
Application.DisplayAlerts = True
End Sub
Ca devrait le faire...
-----Message d'origine-----
Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes
de code me
permettant de parcourir ma feuille excel de la ligne 1 à
la dernière qui
lorsque dans la colonne C la valeur est identique,
fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes
blanches
alternativement.
Ex :
A B C
L1 2004 MM 01
L2 2004 MO 01
L3 2004 MD 01
L4 2005 MF 02
L5 2005 LM 05
L6 2006 SS 03
L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C
ligne 4 fond blanc
ligne 5 fond gris
ligne 6 et 7 fond blanc fusion des cellelules C
..... fond blanc
..... fond gris
Application.DisplayAlerts = False With ThisWorkbook.Worksheets("Feuil1") LastR = .Range("C65536").End(xlUp).Row j = 1 Blanc = True For i = 1 To LastR If .Cells(i, 3).Value <> .Cells(i + 1, 3).Value Then If j <> i Then .Range(.Cells(j, 3), .Cells(i, 3)).Merge .Range(.Cells(j, 3), .Cells(i, 3)).VerticalAlignment = xlCenter End If If Blanc Then: .Range(.Cells(j, 1), .Cells (i, 3)).Interior.ColorIndex = 15 j = i + 1 Blanc = Not Blanc End If Next i End With Application.DisplayAlerts = True
End Sub
Ca devrait le faire...
-----Message d'origine----- Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes de code me
permettant de parcourir ma feuille excel de la ligne 1 à la dernière qui
lorsque dans la colonne C la valeur est identique, fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes blanches
alternativement.
Ex : A B C L1 2004 MM 01 L2 2004 MO 01 L3 2004 MD 01 L4 2005 MF 02 L5 2005 LM 05 L6 2006 SS 03 L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C ligne 4 fond blanc ligne 5 fond gris ligne 6 et 7 fond blanc fusion des cellelules C ..... fond blanc ..... fond gris
Merci beaucoup
.
Ellimac
Bonjour,
Sub Toto() Application.DisplayAlerts = False Range("c1").Select der = Range("c50000").End(xlUp).Row + 1 While ActiveCell.Row <> der If ActiveCell = ActiveCell.Offset(1) Then a = a + 1 Else If a > 0 Then Range(ActiveCell, ActiveCell.Offset(-a)).Merge Range(ActiveCell, ActiveCell.Offset(, - 2)).Select Selection.Interior.ColorIndex = 15 ActiveCell.Offset(, 2).Select a = 0 End If End If ActiveCell.Offset(1).Select Wend Application.DisplayAlerts = True End Sub
Camille
-----Message d'origine----- Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes de code me
permettant de parcourir ma feuille excel de la ligne 1 à la dernière qui
lorsque dans la colonne C la valeur est identique, fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes blanches
alternativement.
Ex : A B C L1 2004 MM 01 L2 2004 MO 01 L3 2004 MD 01 L4 2005 MF 02 L5 2005 LM 05 L6 2006 SS 03 L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C ligne 4 fond blanc ligne 5 fond gris ligne 6 et 7 fond blanc fusion des cellelules C ..... fond blanc ..... fond gris
Merci beaucoup
.
Bonjour,
Sub Toto()
Application.DisplayAlerts = False
Range("c1").Select
der = Range("c50000").End(xlUp).Row + 1
While ActiveCell.Row <> der
If ActiveCell = ActiveCell.Offset(1) Then
a = a + 1
Else
If a > 0 Then
Range(ActiveCell, ActiveCell.Offset(-a)).Merge
Range(ActiveCell, ActiveCell.Offset(, -
2)).Select
Selection.Interior.ColorIndex = 15
ActiveCell.Offset(, 2).Select
a = 0
End If
End If
ActiveCell.Offset(1).Select
Wend
Application.DisplayAlerts = True
End Sub
Camille
-----Message d'origine-----
Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes
de code me
permettant de parcourir ma feuille excel de la ligne 1 à
la dernière qui
lorsque dans la colonne C la valeur est identique,
fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes
blanches
alternativement.
Ex :
A B C
L1 2004 MM 01
L2 2004 MO 01
L3 2004 MD 01
L4 2005 MF 02
L5 2005 LM 05
L6 2006 SS 03
L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C
ligne 4 fond blanc
ligne 5 fond gris
ligne 6 et 7 fond blanc fusion des cellelules C
..... fond blanc
..... fond gris
Sub Toto() Application.DisplayAlerts = False Range("c1").Select der = Range("c50000").End(xlUp).Row + 1 While ActiveCell.Row <> der If ActiveCell = ActiveCell.Offset(1) Then a = a + 1 Else If a > 0 Then Range(ActiveCell, ActiveCell.Offset(-a)).Merge Range(ActiveCell, ActiveCell.Offset(, - 2)).Select Selection.Interior.ColorIndex = 15 ActiveCell.Offset(, 2).Select a = 0 End If End If ActiveCell.Offset(1).Select Wend Application.DisplayAlerts = True End Sub
Camille
-----Message d'origine----- Bonjour,
J'ai besoin d'1 coup de main pour écrire les qqes lignes de code me
permettant de parcourir ma feuille excel de la ligne 1 à la dernière qui
lorsque dans la colonne C la valeur est identique, fusionner ces cellules et
ces lignes doivent par exemple gises et les suivantes blanches
alternativement.
Ex : A B C L1 2004 MM 01 L2 2004 MO 01 L3 2004 MD 01 L4 2005 MF 02 L5 2005 LM 05 L6 2006 SS 03 L7 2006 SX 03
Donc ligne 1 à 3 fond gris et fusion des cellelules C ligne 4 fond blanc ligne 5 fond gris ligne 6 et 7 fond blanc fusion des cellelules C ..... fond blanc ..... fond gris