insérer une formule par VB

youki

XLDnaute Occasionnel
Bonjour, apres quelques clics sur un userforme des informations sont envoyées vers une feuille excel. Maintenant, je souhaiterais que sur la suite de la ligne viennent s'insrire des formules pour completer la ligne.
Ces formules seraient assez simple (somme multi...).

Ci dessous le code qui me permet d'sincrire une ligne de données
Code:
'--------------------------------------------------
Private Sub ajouter_Click()
'--------------------------------------------------
'Déclaration des Variable qui vont être utilisées
Dim Post As String
Dim Ligne As Long
Dim desig As String

' Vérification des données
If quantite = "" Then
quantite = "1"
End If
If prix_u = "" Then
MsgBox ("Vous devez saisir un prix")
End If
If id = "" Then
MsgBox ("Vous devez saisir un numéro de tache")
End If

'Recherche de la dernière ligne écrite (colonne B)
Ligne = Devis.numeroDerniereLigne + 1

'envoi des informations de l'Useform  => les cellules
Set sheetDevis = Sheets("construction_devis")

'prise en compte ou non de la designation
If options.Value = False Then
desig = ""
Else
desig = designation.Value
End If



    sheetDevis.Cells(Ligne, 1).Value = id
    sheetDevis.Cells(Ligne, 2).Value = "-" + texte + " " + desig
    sheetDevis.Cells(Ligne, 3).Value = Formate(quantite)
    sheetDevis.Cells(Ligne, 4).Value = Formate(prix_u)
    sheetDevis.Cells(Ligne, 6).Value = Formate(marge)
    sheetDevis.Cells(Ligne, 5).Value = Formate(UserForm1.equipe.ControlTipText)
'Ici je souhaiterai continuer en insérant les formules
    id.Value = nextId

For i = 1 To 18
sheetDevis.Cells(Ligne, i).Font.Bold = False
sheetDevis.Cells(Ligne, i).Font.Size = 9
Next i

End Sub

Précisions: Les formules à insérer ne prennent en compte que la ligne en cours.

La question c'est donc: comment inserer des formules et non pas une valeur, et comment inserer une formule qui suit tout le temps sa ligne.

Merci
 

pierrejean

XLDnaute Barbatruc
Re : insérer une formule par VB

un exemple:

Code:
  .....
    sheetDevis.Cells(Ligne, 4).Value = Formate(prix_u)
    sheetDevis.Cells(Ligne, 6).Value = Formate(marge)
    sheetDevis.Cells(Ligne, 5).Value = Formate(UserForm1.equipe.ControlTipText)
'Ici je souhaiterai continuer en insérant les formules
     [COLOR=blue]sheetDevis.Cells(Ligne,7).Formulalocal="=" & sheetDevis.Cells(Ligne, 3).Address & "*" & sheetDevis.Cells(Ligne, 4).Address
[/COLOR]    id.Value = nextId
.....
 

tototiti2008

XLDnaute Barbatruc
Re : insérer une formule par VB

Bonjour youki,

Je te conseilles vivement d'enregistrer une macro où tu ecrira la formule voulue, tu pourras découvrir la belle propriété FormulaR1C1 et le nom des fonctions Excel en VBA(c'est à dire en anglais).
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz