Bonjour à vous tous

Voila je viens vers vous afin de trouver la solution à mon problème, en effet j'ai ci dessous une macro qui répond totalement à mes besoins sauf un à point auquel je veux modifier

Car ici dans mon code les données à copier sont spécifiées ce trouvant dans toute la colonne B à partir de B2 et si je décale les donnée d'une ligne par exemple la copie ne ce fait pas vraiment comme que je veux, moi je souhaite déterminer une plage bien précise c'est à dire exemple copier les information qui se trouvent de B2 à B10

Je joins mon code ci-dessous et étant débutant en VBA je pense la modification sera dans la ligne 18 ou 19

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
Dim DernierID As Integer
Dim LigneVide As Integer
Dim Formule As Long
Dim i As Long
 
Sub Copier_Coller()
 If Sheets("Facture").Range("A1").Value Like "*CFA*" Then
     Sheets("CFA").Select
    ElseIf Sheets("Facture").Range("A1").Value Like "*UREA*" Then
        Sheets("UREA").Select
    Else
        Sheets("UFI").Select
 End If
    DernierID = WorksheetFunction.Max(ActiveSheet.Range("A:A"))
    LigneVide = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row + 1
 If LigneVide < 2 Then LigneVide = 2
    ActiveSheet.Cells(LigneVide, 1) = DernierID + 1
 For i = 2 To Sheets("Facture").Range("B" & Rows.Count).End(xlUp).Row
    ActiveSheet.Cells(LigneVide, i) = Sheets("Facture").Range("B" & i)
 Next
 If ActiveSheet.Name = "CFA" Then
      Formule = Sheets("CFA").Cells(Rows.Count, "A").End(xlUp).Row
      ActiveSheet.Range("$L$" & Formule & "").FormulaLocal = "=SIERREUR(SOMME($J$" & Formule & ":$K$" & Formule & ");""Attention ! il y a une erreur !"")"
    ElseIf ActiveSheet.Name = "UREA" Then
      Formule = Sheets("UREA").Cells(Rows.Count, "A").End(xlUp).Row
      ActiveSheet.Range("$L$" & Formule & "").FormulaLocal = "=SIERREUR(SOMME($J$" & Formule & ":$K$" & Formule & ");""Attention ! il y a une erreur !"")"
    ElseIf ActiveSheet.Name = "UFI" Then
      Formule = Sheets("UFI").Cells(Rows.Count, "A").End(xlUp).Row
      ActiveSheet.Range("$L$" & Formule & "").FormulaLocal = "=SIERREUR(SOMME($J$" & Formule & ":$K$" & Formule & ");""Attention ! il y a une erreur !"")"
  End If
 Application.ScreenUpdating = True
End Sub
Merci à vous tous

Cordialement