je viens de recevoir une liste de marchandise avec plusieurs
colonnes(adresse , n °,lot ....)dont une colonne avec un numéro.
pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur
grise après chaque changement de numéro; car une même marchandise peut
avoir plusieurs ligne mais le numéro ne change pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas B.
Salut Regis,
Est-ce que ne colorier que la première ligne du numéro te convient ? Dans ce cas une MEFC suffit : Sélectionne tout ton tableau (avec A2 activée) puis mets comme formule de mise en forme conditionnelle : =$A2<>$A1
je viens de recevoir une liste de marchandise avec plusieurs colonnes(adresse , n °,lot ....)dont une colonne avec un numéro. pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur grise après chaque changement de numéro; car une même marchandise peut avoir plusieurs ligne mais le numéro ne change pas.
merci d avance
Salut Regis,
Est-ce que ne colorier que la première ligne du numéro te convient ? Dans ce
cas une MEFC suffit :
Sélectionne tout ton tableau (avec A2 activée) puis mets comme formule de
mise en forme conditionnelle :
=$A2<>$A1
je viens de recevoir une liste de marchandise avec plusieurs
colonnes(adresse , n °,lot ....)dont une colonne avec un numéro.
pour que ce tableau soi plus aérée je voudrais insérer une ligne de
couleur grise après chaque changement de numéro; car une même
marchandise peut avoir plusieurs ligne mais le numéro ne change pas.
Est-ce que ne colorier que la première ligne du numéro te convient ? Dans ce cas une MEFC suffit : Sélectionne tout ton tableau (avec A2 activée) puis mets comme formule de mise en forme conditionnelle : =$A2<>$A1
je viens de recevoir une liste de marchandise avec plusieurs colonnes(adresse , n °,lot ....)dont une colonne avec un numéro. pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur grise après chaque changement de numéro; car une même marchandise peut avoir plusieurs ligne mais le numéro ne change pas.
merci d avance
regis.gintz
bonsoir !
merci de m avoir répondu rapidement. ta MEFC marche très bien mais insérer une ligne serais très bien. a défaut je m en contenterais
a + est encor merci
bonsoir !
merci de m avoir répondu rapidement.
ta MEFC marche très bien mais insérer une ligne serais très bien.
a défaut je m en contenterais
merci de m avoir répondu rapidement. ta MEFC marche très bien mais insérer une ligne serais très bien. a défaut je m en contenterais
a + est encor merci
Pascal Engelmajer
salut, une petite macro ...
Sub insereLigneGrise() 'après selection du premier numéro dans la colonne des numéros ' Dim debut As Range Dim fin As Range Dim plage As Range Dim memNo Dim fl As Boolean Set debut = ActiveCell Set fin = Cells(65535, debut.Column).End(xlUp) '.Offset(1, 0) Set plage = Range(debut, fin) Set cell = plage(plage.Count) MsgBox cell.Address memNo = cell.Value fl = False Do Until cell.Row = debut.Row Do While cell.Value = memNo _ Or cell.Interior.ColorIndex = 15 _ Or IsEmpty(cell) 'pour sauter les lignes déjà grises ou vide If cell.Interior.ColorIndex = 15 _ Or IsEmpty(cell) Then fl = True Set cell = cell.Offset(-1, 0) Loop memNo = cell.Value MsgBox memNo If Not fl Then cell.EntireRow.Offset(1, 0).Insert Shift:=xlDown With cell.Offset(1, 0).EntireRow.Interior .ColorIndex = 15 'par exemple End With If cell.Row > debut.Row + 1 Then Set cell = cell.Offset(-2, 0) fl = False End If Loop End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "regis.gintz" a écrit dans le message de news:
bonsoir !
merci de m avoir répondu rapidement. ta MEFC marche très bien mais insérer une ligne serais très bien. a défaut je m en contenterais
a + est encor merci
salut,
une petite macro ...
Sub insereLigneGrise()
'après selection du premier numéro dans la colonne des numéros
'
Dim debut As Range
Dim fin As Range
Dim plage As Range
Dim memNo
Dim fl As Boolean
Set debut = ActiveCell
Set fin = Cells(65535, debut.Column).End(xlUp) '.Offset(1, 0)
Set plage = Range(debut, fin)
Set cell = plage(plage.Count)
MsgBox cell.Address
memNo = cell.Value
fl = False
Do Until cell.Row = debut.Row
Do While cell.Value = memNo _
Or cell.Interior.ColorIndex = 15 _
Or IsEmpty(cell)
'pour sauter les lignes déjà grises ou vide
If cell.Interior.ColorIndex = 15 _
Or IsEmpty(cell) Then fl = True
Set cell = cell.Offset(-1, 0)
Loop
memNo = cell.Value
MsgBox memNo
If Not fl Then
cell.EntireRow.Offset(1, 0).Insert Shift:=xlDown
With cell.Offset(1, 0).EntireRow.Interior
.ColorIndex = 15 'par exemple
End With
If cell.Row > debut.Row + 1 Then Set cell = cell.Offset(-2, 0)
fl = False
End If
Loop
End Sub
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"regis.gintz" <regis.gintz@wanadoo.fr> a écrit dans le message de news:
OzZraRbwDHA.2456@TK2MSFTNGP12.phx.gbl...
bonsoir !
merci de m avoir répondu rapidement.
ta MEFC marche très bien mais insérer une ligne serais très bien.
a défaut je m en contenterais
Sub insereLigneGrise() 'après selection du premier numéro dans la colonne des numéros ' Dim debut As Range Dim fin As Range Dim plage As Range Dim memNo Dim fl As Boolean Set debut = ActiveCell Set fin = Cells(65535, debut.Column).End(xlUp) '.Offset(1, 0) Set plage = Range(debut, fin) Set cell = plage(plage.Count) MsgBox cell.Address memNo = cell.Value fl = False Do Until cell.Row = debut.Row Do While cell.Value = memNo _ Or cell.Interior.ColorIndex = 15 _ Or IsEmpty(cell) 'pour sauter les lignes déjà grises ou vide If cell.Interior.ColorIndex = 15 _ Or IsEmpty(cell) Then fl = True Set cell = cell.Offset(-1, 0) Loop memNo = cell.Value MsgBox memNo If Not fl Then cell.EntireRow.Offset(1, 0).Insert Shift:=xlDown With cell.Offset(1, 0).EntireRow.Interior .ColorIndex = 15 'par exemple End With If cell.Row > debut.Row + 1 Then Set cell = cell.Offset(-2, 0) fl = False End If Loop End Sub
-- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "regis.gintz" a écrit dans le message de news:
bonsoir !
merci de m avoir répondu rapidement. ta MEFC marche très bien mais insérer une ligne serais très bien. a défaut je m en contenterais
a + est encor merci
Jean-François Aubert
Salut Régis,
Encore une autre solution. Les numéros sont préalablement sélectionnés:
Sub yy() der = Selection.Item(Selection.Count).Row prem = Selection.Item(1).Row For i = der To prem + 1 Step -1 If Cells(i, 1) = "" Then GoTo suite If Cells(i, 1) <> Cells(i, 1).Offset(-1, 0) Then Cells(i, 1).EntireRow.Insert Cells(i, 1).Resize(1, 5).Interior.ColorIndex = 6 End If suite: Next End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"regis.gintz" a écrit dans le message de news:%
bonjour a tous !
Avec Excel 2000 ; wind 98
je viens de recevoir une liste de marchandise avec plusieurs colonnes(adresse , n °,lot ....)dont une colonne avec un numéro. pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur grise après chaque changement de numéro; car une même marchandise peut avoir plusieurs ligne mais le numéro ne change pas.
merci d avance
Salut Régis,
Encore une autre solution.
Les numéros sont préalablement sélectionnés:
Sub yy()
der = Selection.Item(Selection.Count).Row
prem = Selection.Item(1).Row
For i = der To prem + 1 Step -1
If Cells(i, 1) = "" Then GoTo suite
If Cells(i, 1) <> Cells(i, 1).Offset(-1, 0) Then
Cells(i, 1).EntireRow.Insert
Cells(i, 1).Resize(1, 5).Interior.ColorIndex = 6
End If
suite:
Next
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"regis.gintz" <regis.gintz@wanadoo.fr> a écrit dans le message de
news:%23bzKvXawDHA.2452@tk2msftngp13.phx.gbl...
bonjour a tous !
Avec Excel 2000 ; wind 98
je viens de recevoir une liste de marchandise avec plusieurs
colonnes(adresse , n °,lot ....)dont une colonne avec un numéro.
pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur
grise après chaque changement de numéro; car une même marchandise peut
avoir plusieurs ligne mais le numéro ne change pas.
Encore une autre solution. Les numéros sont préalablement sélectionnés:
Sub yy() der = Selection.Item(Selection.Count).Row prem = Selection.Item(1).Row For i = der To prem + 1 Step -1 If Cells(i, 1) = "" Then GoTo suite If Cells(i, 1) <> Cells(i, 1).Offset(-1, 0) Then Cells(i, 1).EntireRow.Insert Cells(i, 1).Resize(1, 5).Interior.ColorIndex = 6 End If suite: Next End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"regis.gintz" a écrit dans le message de news:%
bonjour a tous !
Avec Excel 2000 ; wind 98
je viens de recevoir une liste de marchandise avec plusieurs colonnes(adresse , n °,lot ....)dont une colonne avec un numéro. pour que ce tableau soi plus aérée je voudrais insérer une ligne de couleur grise après chaque changement de numéro; car une même marchandise peut avoir plusieurs ligne mais le numéro ne change pas.
merci d avance
AV
Pour varier les plaisirs : A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng() Application.ScreenUpdating = False Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23) For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 Next j Next i End Sub
Avantage : ne boucle que sur les cellule renseignées AV
Pour varier les plaisirs :
A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng()
Application.ScreenUpdating = False
Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23)
For i = plg.Areas.Count To 1 Step -1
For j = plg.Areas(i).Count To 1 Step -1
x = plg.Areas(i)(j).Row
If x = 2 Then Exit Sub '1° ligne contenant un numéro
plg.Areas(i)(j).EntireRow.Insert
Rows(x).EntireRow.Interior.ColorIndex = 15
Next j
Next i
End Sub
Avantage : ne boucle que sur les cellule renseignées
AV
Pour varier les plaisirs : A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng() Application.ScreenUpdating = False Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23) For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 Next j Next i End Sub
Avantage : ne boucle que sur les cellule renseignées AV
Jean-François Aubert
Salut Alain, C'est une joilie proc, mais qui a un petit défaut, si un même numéro est répété sur plusieurs lignes. -elle insert une ligne de couleur entre tous les numéros, même si ils sont identiques.
J'ai rajouté la ligne de condition If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite
Sub zz_et_yy_Insert_Lng() Application.ScreenUpdating = False
Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23)
For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 suite: Next j Next i End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"AV" a écrit dans le message de news:%
Pour varier les plaisirs : A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng() Application.ScreenUpdating = False Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23) For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 Next j Next i End Sub
Avantage : ne boucle que sur les cellule renseignées AV
Salut Alain,
C'est une joilie proc, mais qui a un petit défaut, si un même numéro est répété sur plusieurs
lignes.
-elle insert une ligne de couleur entre tous les numéros, même si ils sont identiques.
J'ai rajouté la ligne de condition
If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite
Sub zz_et_yy_Insert_Lng()
Application.ScreenUpdating = False
Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23)
For i = plg.Areas.Count To 1 Step -1
For j = plg.Areas(i).Count To 1 Step -1
x = plg.Areas(i)(j).Row
If x = 2 Then Exit Sub '1° ligne contenant un numéro
If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite
plg.Areas(i)(j).EntireRow.Insert
Rows(x).EntireRow.Interior.ColorIndex = 15
suite:
Next j
Next i
End Sub
--
Amicalement
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"AV" <alain.vallon@wanadoo.fr> a écrit dans le message de
news:%23HyhsbgwDHA.2396@TK2MSFTNGP09.phx.gbl...
Pour varier les plaisirs :
A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng()
Application.ScreenUpdating = False
Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23)
For i = plg.Areas.Count To 1 Step -1
For j = plg.Areas(i).Count To 1 Step -1
x = plg.Areas(i)(j).Row
If x = 2 Then Exit Sub '1° ligne contenant un numéro
plg.Areas(i)(j).EntireRow.Insert
Rows(x).EntireRow.Interior.ColorIndex = 15
Next j
Next i
End Sub
Avantage : ne boucle que sur les cellule renseignées
AV
Salut Alain, C'est une joilie proc, mais qui a un petit défaut, si un même numéro est répété sur plusieurs lignes. -elle insert une ligne de couleur entre tous les numéros, même si ils sont identiques.
J'ai rajouté la ligne de condition If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite
Sub zz_et_yy_Insert_Lng() Application.ScreenUpdating = False
Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23)
For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro If plg.Areas(i)(j) = plg.Areas(i)(j - 1) Then GoTo suite plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 suite: Next j Next i End Sub
-- Amicalement
Jean-François Aubert {Vaudois de la Côte Lémanique}
"AV" a écrit dans le message de news:%
Pour varier les plaisirs : A adapter : les numéros sont en A2:A1000
Sub zz_Insert_Lng() Application.ScreenUpdating = False Set plg = [A2:A1000].SpecialCells(xlCellTypeConstants, 23) For i = plg.Areas.Count To 1 Step -1 For j = plg.Areas(i).Count To 1 Step -1 x = plg.Areas(i)(j).Row If x = 2 Then Exit Sub '1° ligne contenant un numéro plg.Areas(i)(j).EntireRow.Insert Rows(x).EntireRow.Interior.ColorIndex = 15 Next j Next i End Sub
Avantage : ne boucle que sur les cellule renseignées AV
AV
C'est une joilie proc, mais qui a un petit défaut, si un même numéro est répété sur plusieurs
lignes. elle insert une ligne de couleur entre tous les numéros, même si ils sont identiques.
Heu... j'ai vu mention nulle part dans la question qu'il ne voulait pas ça, mais bon ... ;-)
AV
C'est une joilie proc, mais qui a un petit défaut, si un même numéro est répété
sur plusieurs
lignes.
elle insert une ligne de couleur entre tous les numéros, même si ils sont
identiques.
Heu... j'ai vu mention nulle part dans la question qu'il ne voulait pas ça, mais
bon ... ;-)