Bonjour à tous.

J'ai une application qui fonction deja bien mais que je voudrais améliorer.
Il s'agit de copier des données se trouvant dans la colonne B de la sheet1 vers la dernière colonnes non-vide de la sheet2. Oui, c'est simple, je le sais. Mais mon souci est que je veux que les données copiées soient colées par lot de 10 au maximim et que, avant chaque collage, qu'il y ait un titre "serie nº " avant le collage des 10 premieres données, et ainsi de suite.

Certains me dironT: ChatGPT. Malheureusement il n'a pas pu m'aider. L'humain reste le meilleur.
Merci d'avance pour vos contributions.

voici le code que je souhaite améliorer:
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
60
61
62
63
64
65
 
Sub copyPasteData()
    ' Création et définition des variables
    Dim currCellHist As Range
    Dim currentCell As Range
    Dim lastEmptyCell As Range
    Dim targetSheet As Worksheet
    Dim wsHistorico As Worksheet
    Dim isProtected As Boolean
 
    ' Mot de passe de protection
    Dim psw As String
    psw = Password
 
    ' Référence à la feuille principal (feuil1)
    Set wsPrincipal = ThisWorkbook.Sheets("Principal")
 
    ' Référence à la feuille cible (feuil2)
    Set targetSheet = ThisWorkbook.Sheets("Archive")
 
    ' Definition de la variable isProtected
    isProtected = targetSheet.ProtectContents
 
    ' Sélectionnez la cellule active actuelle
    Set currentCell = ActiveCell
    Set currCellHist = Sheets("Archive").Range("B5")
 
    'On désactive temporairement les événements de la macro
    Application.EnableEvents = False ' Désactiver les événements
 
    ' Activation de la feuil l pour la deprotéger
    Sheets("Archive").Activate
 
    If isProtected Then
        ' Feuille protégée, la déprotéger
        targetSheet.Unprotect password:=psw
    End If
 
    ' On rentre sur la feuil Principal pour copier les données
    Sheets("Principal").Activate
 
    ' Copie des données à archiver
    Sheets("Principal").Range("B4").Select
    Range(Selection, Selection.End(xlDown)).Copy
    '
    Sheets("Archive").Activate
 
    ' Selectionne la dernieres cellule vide de la feuil Archive
    Range("B5").Select
    Selection.End(xlToRight).Offset(0, 1).Select
 
    ' Copie des données dans a partir de la dernieres cellule vide de la feuil Archive
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
    ' Vider le presse-papiers après avoir effectué la copie
    Application.CutCopyMode = False
 
    ' Protéger à nouveau la feuil Archive avec le mot de passe
    targetSheet.Protect password:=psw
 
    'On réactive temporairement les événements de la macro
    Application.EnableEvents = True ' Réactiver les événements
 
End Sub