bonjour,
J'ai encore besoin d'un petit conseil :
J'ai réalisé une petite macro qui prend des informations stockées dans un tableau dans une feuille, et qui insère ces informations dans une seule case dans une feuille2.
Exemple : le tableau en feuille1 contient la civilité du client (M., Mme), son nom, son prénom, adresse, n° de tél etc.
Le rendu se trouve en feuille 2 : on va grouper ces informations sur une même case (1 case = 1 client), pour constituer des "mini fiches clients".
Ma question : je dois mettre en forme ces données (la première ligne de la case en gras, la seconde en rouge etc.), et je ne sais pas comment faire.
Pour l'instant, voici mon code :
Comment puis-je faire pour "découper" mon message et mettre certaines zones en forme? J'ai essayé avec l'éditeur de macro, et il me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub Macro1() Dim Message As String Worksheets("Rendu").Select Range("A1").Select Worksheets("Saisie").Select Range("A2").Select While ActiveCell.Value <> "" Message = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value & " " & ActiveCell.Offset(0, 2).Value & _ Chr(10) & ActiveCell.Offset(0, 3).Value & Chr(10) If ActiveCell.Offset(0, 4).Value <> "" Then Message = Message & ActiveCell.Offset(0, 4).Value & Chr(10) End If Message = Message & ActiveCell.Offset(0, 5).Value & " " & ActiveCell.Offset(0, 6).Value & Chr(10) & Chr(10) & ActiveCell.Offset(0, 7).Value & " " & ActiveCell.Offset(0, 8).Value & Chr(10) If ActiveCell.Offset(0, 9).Value <> "" Then Message = Message & ActiveCell.Offset(0, 9).Value & Chr(10) End If If ActiveCell.Offset(0, 10).Value <> "" Then Message = Message & ActiveCell.Offset(0, 10).Value & Chr(10) End If Message = Message & Chr(10) & Chr(10) & ActiveCell.Offset(0, 11).Value & Chr(10) & ActiveCell.Offset(0, 12).Value Worksheets("Rendu").Select ActiveCell.Value = Message ActiveCell.Offset(1).Select Worksheets("Saisie").Select ActiveCell.Offset(1).Select Wend End Sub
Mais ça ne me convient pas : le problème est que je ne connais pas d'avance la taille des informations rentrées dans le tableau, je ne peux donc pas donner un point de départ et un point d'arrivé (ça serait trop facile, hein!).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Range("A1").Select ActiveCell.FormulaR1C1 = _ "M. MONFORT Dimitri" & Chr(10) & "20, Résidence de Kervihan" & Chr(10) & "29170 FOUESNANT" & Chr(10) & "" & Chr(10) & "OF Ed 354 Suppl : OUI" & Chr(10) & "Non livré hier" & Chr(10) & "" & Chr(10) & "" & Chr(10) & "Boîte au fond du hall" & Chr(10) & "" With ActiveCell.Characters(Start:=1, Length:=18).Font .Name = "Arial" .FontStyle = "Gras" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With With ActiveCell.Characters(Start:=19, Length:=105).Font .Name = "Arial" .FontStyle = "Italique" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 3 End With
Si vous ne vous êtes pas laissés découragés par la longueur de mon message et que vous pouvez me donner un coup de pouce, d'avance, merci.
Partager