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 CopiéCollé()
' macro à utiliser sur les données traitée (marque et code séparés)
Windows("URC2562.xlsx").Activate
Dim i As Integer 'On définit les variables
Dim j As Integer
Dim marque As String
Dim marque1 As String
Dim k As Integer
Dim p As Integer
Dim code As String
For i = 1 To 300 'On parcourt toutes les lignes
Sheets("Feuil3").Activate 'On définit la feuille de données de bas
If IsEmpty(Cells(i, 1)) Then
p = 0
While (IsEmpty(Cells(p + i, 1)))
code = Cells(i + p, 2).Value
Sheets("Feuil1").Activate
With Cells(i - 1 - p, 2)
.Value = .Value & code
End With
p = p + 1
Wend
Else 'Si la ligne a une marque
If IsEmpty(Cells(i, 2)) Then 'Si la ligne n'a pas de code, on mémorise la marque pour l'ajouter après
marque = Cells(i, 1).Value
k = 1
Else
If k = 1 Then
Cells(i, 2).Select
Selection.Copy
marque1 = Cells(i, 1).Value
Sheets("Feuil1").Activate
Cells(i, 2).Select
ActiveSheet.Paste
With Cells(i, 1)
.Value = marque & marque1
End With
k = 0
Else 'Si tout va bien
For j = 1 To 2
Sheets("Feuil3").Activate
Cells(i, j).Select
Selection.Copy
Sheets("Feuil1").Activate
Cells(i, j).Select
ActiveSheet.Paste
Next j
End If
End If
End If
Next i
End Sub |
Partager