Bonjour à tous
J'ai sur mon projet plusieurs userform me permettant de mettre à jour les données sur différentes feuille de données, le tout étant exploité sur un feuille contenant les formules EXCEL.

Mon pb est que quelques données au niveau de ma feuille de calcul interagissent entre elles, je dois repasser par certains formulaires pour valider des modifications, se qui génère des erreurs en cas d'oubli, j'avais dans un premier temps résolu mon problème en lançant le formulaire suivant à partir du code de celui modifié. Mais ça ma pose des soucis de boucle sans fin, si 2 formulaires agissent chacun leur tour sur un même résultat.

Je souhaiterais ajouté un ligne de calcul à mon code qui me permette de reporter un résultat de calcul sur une autre fiche et à la même date.
J'espère être compréhensible.
Ci dessous l'extrait de code, les ligne 26-27-28 ne fonctionnent pas.
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
24
25
26
27
28
29
30
31
32
33
34
 
Private Sub CmdModifier_Click()
 
    ' Modifier
    Dim Ctrl As Control
    Dim Colonne As Integer
    Dim Ligne As Long
    Dim a As Variant
 
 Application.ScreenUpdating = False
 
     If Me.CboDate.ListIndex = -1 Then Exit Sub
     Ligne = Me.CboDate.ListIndex + 4
     With Sheets("Data_Ration")
 
         For Each Ctrl In Me.Controls
                     Colonne = CInt("0" & Ctrl.Tag)
             If Colonne > 0 Then
                   .Cells(Ligne, Colonne) = TrouveType(Ctrl)
             End If
         Next Ctrl
      'Calcul MSI ration initiale
         .Cells(Ligne, 59) = Sheets("Fiche").Range("Total_Ingestion_MS_Ration_Initiale") + ((Sheets("Fiche").Range("Qté_jour_conc_Indiv_1_R_Initiale") + Sheets("Fiche").Range("Qté_jour_conc_Indiv_2_R_Initiale") + Sheets("Fiche").Range("Qté_jour_conc_Indiv_3_R_Initiale")) / Sheets("Fiche").Range("Nb_Rations_Initiale"))
     End With
 
      'Calcul cout ration / 1000 L
     With Sheets("Data_lait")
         .Cells(Ligne, 26) = Sheets("Fiche").Range("cout_ration_VL_j_Ration_Initiale") * 1000 / Sheets("Fiche").Range("Plréelle")
     End With
 
 
Unload Me
 
End Sub
Merci de votre aide, Joël