VB: Inserer des lignes dans un tableau ex

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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...)
 
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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
36
Affichages
3 K
Retour