Bonjour,
j'ai un souci sur une macro.
Je m'explique :
J'ai deux feuilles :
-La première est un tableau basique ("Sous-traitants"), lorsque je lance la macro elle copie la ligne 10
et l'insère sur la dernière ligne ayant une valeur en "A"
je demande par input box deux valeurs à donner.

Jusque la pas de problème.

Ensuite j'ai une feuille masquée qui est copier par cette même macro.

Le problème arrive,
dans cette nouvelle feuille créée je voudrai par macro mettre des formules.
Par exemple dans la cellule E3 je veux que la formule soit :
='Sous-traitants'! L et numéro de la ligne créée.
et c'est justement la que je bloque,

Je joint mon fichier et ci dessous la macro :

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
Sub creation_ligne()
 
Dim Lot As String
 
Lot = InputBox("Nom du Lot :", "A renseigner", "")
If Lot = "" Then Exit Sub
 
 
Dim Lig As Long
Lig = 11 'première ligne à vérifier
Do While Not IsEmpty(Range("A" & Lig))
Lig = Lig + 1
Loop
 
Range("a" & Lig).Select
 
Range("a10:Av10").Select
Selection.Locked = False
Selection.FormulaHidden = False
Selection.Copy
 
Range("a" & Lig).Select
ActiveSheet.Paste
Application.CutCopyMode = False
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
 
Range("a" & Lig) = Lot
 
Dim NOMST As String
 
' demander le nom sous traitant
NOMST = InputBox("NOM DU SOUS TRAITANT :", "A renseigner", "")
If NOMST = "" Then Exit Sub
 
Range("b" & Lig) = NOMST
 
' copier coller de l'onglet modèle et positionné a la fin du classeur puis renommé avec le nom sous traitant
Sheets("Modèle").Visible = True
Sheets("Modèle").Select
Sheets("Modèle").Copy After:=Worksheets(Worksheets.Count)
Sheets("Modèle (2)").Select
Sheets("Modèle (2)").Name = "DGD" & " " & NOMST
Sheets("Modèle").Visible = False
 
Sheets("DGD" & " " & NOMST).Select
Range("e9").Value = NOMST
 
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
'range("e3").FormulaR1C1 = "='Sous-traitants'!R[8]C[6]"
Cette dernière ligne est en gros ce que je voudrais mais il faut que ce soit liée à ma variable de numéro de ligne

Si quelqu'un a une idée

Merci
tableau de suivi des sous-traitants - Copie.xlsm