Bonjour à tous,
Novice dans le vba, je souhaite modifier mon code pour lui indiquer d'étendre la formule pour répliquer une formule sur les lignes inférieures.
Le code est le suivant (en état, j'ai fait la manipulation sur 2 lignes mais l'idée reste de copier/coller une formule d'une ligne, et de la répliquer sur les lignes inférieures) :
N.B : les commentaires que je me suis mis peuvent être mal interprétés aussi. J'ai essayé de faire au mieux avec ma compréhension du moment mais je suis preneur de commentaires à ce niveau.Code:
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
66
67
68
69 Sub Ajout_Nouveau_Client() ' ' Ajout_Nouveau_Client Macro ' Permet d'ajouter des noveaux clients ' 'Mise en forme code BCT ActiveCell.FormulaR1C1 = "=""BCTFRP0""&+RC[1]&+""011""" Range("C72").Select 'Formule pour rechercher coordonnées nouveau client dans fichier "nouveaux clients" ActiveCell.FormulaR1C1 = "='[Nouveaux clients installés.xlsx]New BCT'!R2C1" Range("C72").Select 'Suppression de la cellule figée ActiveCell.FormulaR1C1 = _ "='[Nouveaux clients installés.xlsx]New BCT'!R[-70]C[-2]" Range("C72").Select 'Etirement de la formule sur la ligne entière Selection.Copy Range("D72:N72,L77").Select Range("L77").Activate Range("K72").Select Selection.End(xlToLeft).Select 'Sélection de la ligne supérieure pour copie de la mise en forme Range("D72:N72").Select 'Copier/coller de la mise en forme sur la ligne inférieure Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range("O72").Select Application.CutCopyMode = False 'Ajout mention "Installé" dans colonne "statut" ActiveCell.FormulaR1C1 = "Installé" Range("N72").Select 'Sélection de la ligne sur laquelle il y a la mise ne forme Selection.End(xlToLeft).Select Selection.End(xlToLeft).Select 'Copie de la mise en forme et de la formule Selection.Copy 'Sélection de la ligne inférieure Range("A73").Select ActiveSheet.Paste 'Copie de la ligne supérieure sur laquelle il faut récupérer la formule Application.CutCopyMode = False Range("C72:N72").Select 'Collage de la formule de la ligne supérieure, sur la ligne inférieure Selection.Copy Range("C73").Select ActiveSheet.Paste Application.CutCopyMode = False Range("O73").Select 'Ajout mention "Installé" dans colonne "statut" ActiveCell.FormulaR1C1 = "Installé" End Sub
D'avance, un grand merci à tous pour votre aide.
Bonne journée à tous.