Bonjour,
j'ai une feuille de la forme suivante :
Je souhaite dupliquer chaque ligne. J'ai donc fait le code suivant qui insère une ligne à chaque ligne et copie le contenu. En revanche le format du chiffre à l'intérieur part en sucette: 1,6 va devenir 161111111111111,0. Ce n'est donc pas un problème de décimale que je peux changer avec numberformat 0.0 mais bien une conversion étrange.1,6 24,6
1,6 18,6
1,8 19,6
1,5 22,4
1,5 12,6
Je ne sais que faire oO.
Cdt;
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Sub insert_et_duplique() 'Application.ScreenUpdating = False 'Application.DisplayAlerts = False On Error Resume Next ThisWorkbook.Worksheets(3).Delete Dim ws1 As Worksheet Set ws1 = ThisWorkbook.Worksheets(2) ws1.Copy ThisWorkbook.Sheets(Sheets.Count) Dim i As Integer Dim myCell As String Dim nextline As Integer Dim results As Worksheet Set results = Worksheets(3) With results .Columns("A").EntireColumn.Delete .Rows("1").EntireRow.Delete With .Range("A:F") .HorizontalAlignment = xlCenter .ColumnWidth = 20 .NumberFormat = "0.0" End With End With results.Select i = 1 myCell = ActiveSheet.Range("A" & i).Value While myCell <> "" myCell = ActiveSheet.Range("A" & i).Value ActiveSheet.Range("A" & i).Select ActiveCell.Offset(1).EntireRow.Insert ActiveSheet.Range("A" & i + 1).Value = myCell myCell = ActiveSheet.Range("B" & i).Value ActiveSheet.Range("B" & i + 1).Value = myCell myCell = ActiveSheet.Range("C" & i).Value ActiveSheet.Range("C" & i + 1).Value = myCell myCell = results.Range("D" & i).Value results.Range("D" & i + 1).Value = myCell i = i + 2 Wend End Sub
Partager