VB: Inserer des lignes dans un tableau ex

  • Initiateur de la discussion toinish
  • Date de début
T

toinish

Guest
Je rempli un tableau excel a partir d une base de données chaque jour... Ce tableau comporte aujourd hui plus de 1500 lignes et j ai voulu automatiser la mise en forme de celui-ci. Aucun probleme pour creer une macro de mise en forme et tri ... Les lignes sont donc triées selon un Num de dossier, chaque dossier pouvant comporter une ou plusieur lignes, je souhaiterais inserer une ligne de couleur (par exemple bleue) entre chaques dossiers différents afin de me procurer un confort de lecture du tableau...
Je n ai pas tres envie de me mettre a lire les quelques 1500 lignes pour inserer ces lignes bleues!!! C est pourquoi chers developpeurs je vous appelle a l aide.
J ai bien un algorythme sous Visual Basic en tete pour faire cette opération mais je n arrive pas a trouver la synthaxe exacte ....

NB:les num (lettres + chiffres) de dossiers sont dans la colonne B du tableau... Une ligne entre chaque dossier de numero différent donc des lignes bleues espacées d un nombre aleatoire de lignes du meme dossier.

Mille mercis d'avance
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Toinish, PierreJean, bonjour le forum,

Entièrement d'accord avec PierreJean. En plus, l'insertion de ligne vierges risque de mettre le b... dans la macro de tri des données et va considérablement agrandir la taille de ton tableau. Est-ce qu'une solution d'aternance de couleur à chaque changement de dossier ne te paraît pas plus viable ? Indique-nous les colonnes de ton tableau car si les lignes varient, les colonnes elles sont fixes (enfin, j'imagine...)
 
T

toinish

Guest
merci robert je pense pouvoir le faire!!
[file name=exempletoinish.zip size=3084]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exempletoinish.zip[/file]
 

Pièces jointes

  • exempletoinish.zip
    10.9 KB · Affichages: 88
  • exempletoinish.zip
    10.9 KB · Affichages: 86
  • exempletoinish.zip
    10.9 KB · Affichages: 90

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Toinish, PierrJean, bonjour le forum,

En pièce jointe ton fichier modifié. Clique sur le bouton Sépare pour lancer la macro. Dans la colonne A de la nouvelle ligne j'ai mis un espace (invisible si on ne le sait pas) pour garder la continuité et te permettre un tri sur tout le tableau.
[file name=exempletoinish_v2.zip size=12261]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exempletoinish_v2.zip[/file]
 

Pièces jointes

  • exempletoinish_v2.zip
    12 KB · Affichages: 121

pat1545.

XLDnaute Accro
Salut,

essaies ceci dans un module standard:

Sub LigneBleue()
' trier en 1er lieu
Range('B2').Select
Selection.Sort Key1:=Range('B2'), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Dim Last As Integer
Last = Range('B65000').End(xlUp).Row
For i = Last To 2 Step -1
If i = 2 Then Exit Sub ' si ligne sous le titre, on arrete
If Cells(i, 2) = Cells(i - 1, 2) Then GoTo suivant ' si identique on passe
'insertion et couleur
Range(Cells(i, 1), Cells(i, 256)).Select
Selection.Insert Shift:=xlDown
Range(Cells(i, 1), Cells(i, 256)).Interior.ColorIndex = 5
suivant:
Next
End Sub

Patrick
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 528
dernier inscrit
maro