Re : pb de formule avec variable
Bonjour eric
Il s'agit d'un programme de traitement de données:
sur ma page excel j'ai le choix (2 boutons) entre saisie de diamètre ou de circonférence (je suis bucheron et c'est pour traiter mon cubage mensuel), Je masque une de ces colonne par sécurité lors de la saisie.
Le troisième bouton me place sur la première ligne vierge (début de saisie).
je rentre mes données (col 1 : n° grume, col 2 Longueur, col 3 : diamètre ou circonférence (en fonction du bouton choisi)
Avec le bouton 4 je veux traiter ces données pour que j'ai
le résultat de la formule (intégrant la variable liée à la ligne de saisie en cours).
La formule arrive bien dans ma cellule mais marque : #NOM? et n'intègre pas la valeur de ma variable l
voici mon code complet :
Private Sub TextBox1_Change()
Dim resultat
resultat = Val(TextBox1.Value)
End Sub
Private Sub CommandButton1_Click()
If CommandButton1.BackColor = &H8000000F Then
CommandButton1.BackColor = &HC0C0C0
CommandButton2.BackColor = &H8000000F
Else
CommandButton1.BackColor = &H8000000F
End If
Columns("D
").Select
Selection.EntireColumn.Hidden = False
Columns("C:C").Select
Selection.EntireColumn.Hidden = True
Columns("F:F").Select
Selection.EntireColumn.Hidden = False
Columns("G:G").Select
Selection.EntireColumn.Hidden = True
'Call calculdiam'
End Sub
Private Sub CommandButton2_Click()
If CommandButton2.BackColor = &H8000000F Then
CommandButton2.BackColor = &HC0C0C0
CommandButton1.BackColor = &H8000000F
Else
CommandButton2.BackColor = &H8000000F
End If
Columns("C:C").Select
Selection.EntireColumn.Hidden = False
Columns("D
").Select
Selection.EntireColumn.Hidden = True
Columns("G:G").Select
Selection.EntireColumn.Hidden = False
Columns("F:F").Select
Selection.EntireColumn.Hidden = True
'Call calculcirc'
End Sub
Private Sub CommandButton3_Click()
Cells(Rows.Count, 1).End(xlUp)(2).Select
End Sub
Sub CommandButton4_Click()
Dim l As Integer
l = ActiveCell.Row
If CommandButton2.Enabled = True Then
formulecirc = "=(Cells(l,3)*Cells(l,3)*Cells(l,2)/4/PI())-(Cells(l,3)*Cells(l,3)*Cells(l,2)/4/PI()*(Cells(l,7)/100))"
Range("G" & l) = formulecirc
Range("H" & l) = resultat
Else
formulediam = "=(Cells(ligne1,4)*Cells(ligne1,4)*Cells(ligne1,2)*PI()/4)-((Cells(ligne1,4)*Cells(ligne1,4)*Cells(ligne1,2)*PI()/4)*(Cells(ligne1,7)/100))"
Selection.Offset(0, 1).Select
Selectioncell.Formula = formulediam
Selection.Offset(0, 2).Select
ActiveCell.Value = resultat
End If
End Sub
En espérant avoir été assez clair.
Merci