1 pièce(s) jointe(s)
Création de Formula en VBA
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:
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:
'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
Pièce jointe 224543