rouckyluke
XLDnaute Nouveau
Bonjour
N'étant pas experte en VBA je me trouve en difficulté pour écrire un code qui décrit l'action suivante :
J'aimerais calculer une variable "Poids vif" en fonction de deux autre variables (poids carcasse et rendement). Sachant que le rendement est conditionné par la variable classement, exemple : si classement = E+ alors le rendement =0.67 et ainsi de suite...
J'ai tourné le code dans tous les sens mais j'ai toujours une erreur d'incompatibilité de type 13.
A la fin j'aimerais que les valeurs calculées s'insèrent dans la colonne "poids vif" (de I2 jusqu'à la dernière valeur, variable DL)
Il manque certainement des lignes...
Merci par avance pour votre aide !
Voici mon code :
Sub calculPoidsV()
'Calculer le rendement en fonction du classement EUROP
Dim Rendmt As Variant
Dim Poidscarc As Variant
Dim Poidsvif As Variant
Dim Cls As Variant
Dim i As Integer
Dim DL As Integer
DL = Sheets("Saisies").Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To DL
Poidsvif = Sheets("Calcul").Range("I2:I" & DL).Value
Poidscarc = Sheets("Calcul").Range("J2:J" & DL).Value
Cls = Sheets("Calcul").Range("K2:K" & DL).Value
If Cls = "E+" Then
Rendmt = 0.67
ElseIf Cls = "E=" Then
Rendmt = 0.67
ElseIf Cls = "E-" Then
Rendmt = 0.66
ElseIf Cls = "U+" Then
Rendmt = 0.65
ElseIf Cls = "U=" Then
Rendmt = 0.64
ElseIf Cls = "U-" Then
Rendmt = 0.63
ElseIf Cls = "R+" Then
Rendmt = 0.62
ElseIf Cls = "R=" Then
Rendmt = 0.61
ElseIf Cls = "R-" Then
Rendmt = 0.61
Else: Rendmt = 0.6
End If
If Poidscarc = "" Then
Poidscarc = 0
End If
Poidsvif = Poidscarc / Rendmt
Next i
End Sub
N'étant pas experte en VBA je me trouve en difficulté pour écrire un code qui décrit l'action suivante :
J'aimerais calculer une variable "Poids vif" en fonction de deux autre variables (poids carcasse et rendement). Sachant que le rendement est conditionné par la variable classement, exemple : si classement = E+ alors le rendement =0.67 et ainsi de suite...
J'ai tourné le code dans tous les sens mais j'ai toujours une erreur d'incompatibilité de type 13.
A la fin j'aimerais que les valeurs calculées s'insèrent dans la colonne "poids vif" (de I2 jusqu'à la dernière valeur, variable DL)
Il manque certainement des lignes...
Merci par avance pour votre aide !
Voici mon code :
Sub calculPoidsV()
'Calculer le rendement en fonction du classement EUROP
Dim Rendmt As Variant
Dim Poidscarc As Variant
Dim Poidsvif As Variant
Dim Cls As Variant
Dim i As Integer
Dim DL As Integer
DL = Sheets("Saisies").Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To DL
Poidsvif = Sheets("Calcul").Range("I2:I" & DL).Value
Poidscarc = Sheets("Calcul").Range("J2:J" & DL).Value
Cls = Sheets("Calcul").Range("K2:K" & DL).Value
If Cls = "E+" Then
Rendmt = 0.67
ElseIf Cls = "E=" Then
Rendmt = 0.67
ElseIf Cls = "E-" Then
Rendmt = 0.66
ElseIf Cls = "U+" Then
Rendmt = 0.65
ElseIf Cls = "U=" Then
Rendmt = 0.64
ElseIf Cls = "U-" Then
Rendmt = 0.63
ElseIf Cls = "R+" Then
Rendmt = 0.62
ElseIf Cls = "R=" Then
Rendmt = 0.61
ElseIf Cls = "R-" Then
Rendmt = 0.61
Else: Rendmt = 0.6
End If
If Poidscarc = "" Then
Poidscarc = 0
End If
Poidsvif = Poidscarc / Rendmt
Next i
End Sub