Hello !

Petite question VBA. J'ai une macro qui, lorsque l'on rentre une valeur dans une cellule définie, crée le même nombre de lignes en-dessous. Une "message box" demande ensuite le nombre qui apparaitra dans la première cellule de chaque ligne. Voici la macro (merci à Polux pour le gros coup de main) :

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
Sub Creation_Lignes()
 
Dim nbLig As Variant
Dim lig As Long
Dim i As Long
Dim rep As Variant
 
    nbLig = ActiveCell.Value
    ActiveCell.Font.Bold = True
    If nbLig = Null Or Not IsNumeric(nbLig) Then Exit Sub
 
    lig = ActiveCell.Row + 2
 
    Rows(lig & ":" & lig + (CLng(nbLig) - 1)).Select
    Selection.Insert Shift:=xlDown
 
    For i = 1 To nbLig
        rep = InputBox("Entrer le nombre 1 :", "Saisie")
        Range("A" & lig).Value = rep
        lig = lig + 1
    Next
 
End Sub
Cela marche très bien. Ce que j'aimerais faire maintenant, c'est rentrer une formule pour la 3eme cellule (par exemple) de chaque ligne, qui prendrait en compte les nombres rentrés dans les 2 premières cellules de la ligne. J'aurais aimé par exemple que la 3eme cellule multiplie directement les 2 nombres rentrés avant.
J'ai essayé multiplication = Cells(A, lig) * Cells(B, lig)
Range("C" & lig).Value = multiplication dans la boucle FOR, mais ça ne marche : ma syntaxe pour la formule est surement mauvaise...

Autre chose que je recherche aussi, c'est créer une liste déroulante dans ces lignes (par exemple pour la 4eme cellule de chaque ligne). Quelqu'un sait-il faire ça en VBA?

J'espère avoir été clair dans mes questions. Merci d'avance pour vos réponses et vos suggestions