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
Merci à vous tous
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
Cordialement
Partager