Conserver formule apres formulaire

Bonjour le forum voila j'utilise un formulaire pour gerer ma base de données sauf que lorsque j'ajoute ou modifie un contact le formulaire marche mais enleve mes formules excel. (ex: je fais la somme de ma colonne A )

Existe t il un moyen de bloquer ses formules tout en pouvant visualiser le résultat dans une textbox ?

Merci pour vos idées

Option Explicit

Dim Ws As Worksheet

Private Sub CommandButton6_Click() 
On Error Resume Next
Me.MultiPage1.Value = Me.MultiPage1.Value - 1
End Sub

Private Sub CommandButton7_Click() 
On Error Resume Next 
 Me.MultiPage1.Value = Me.MultiPage1.Value + 1
End Sub

Private Sub MultiPage1_Change()

End Sub

Private Sub UserForm_Initialize()

 Dim J As Long
 Dim I As Integer

 ComboBox2.ColumnCount = 1
 ComboBox2.List() = Array("OUI", "NON", "") 

 Set Ws = Sheets("Détail individuel") 
 With Me.ComboBox1
 For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
 .AddItem Ws.Range("A" & J)
 Next J
 End With
 For I = 1 To 145 
 Me.Controls("TextBox" & I).Visible = True 
 Next I

End Sub
Private Sub CommandButton5_Click()
If MsgBox("Attention cette action va éffacer tout le contenu des texboxs, voulez vous continuez ? Cette action est nécessaire avant l'ajout d'un actionnaire", vbYesNo) = vbYes Then
   Dim ctrl As Control
    For Each ctrl In Me.Controls
        If TypeName(ctrl) = "TextBox" Then ctrl.Text = ""
    Next ctrl
    End If
End Sub
Private Sub ComboBox1_Change()
 Dim Ligne As Long
 Dim I As Integer
 If Me.ComboBox1.ListIndex = -1 Then Exit Sub
 Ligne = Me.ComboBox1.ListIndex + 2
 ComboBox2 = Ws.Cells(Ligne, "B")  
 For I = 1 To 145 
 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2) 
 Next I
End Sub

 'calcul cumul2016
      Sub TextBox73_Change()
    Calculcumul2009
    End Sub

    Sub TextBox74_Change()
    Calculcumul2009
    End Sub

    Sub TextBox75_Change()
    Calculcumul2009
    End Sub

    Sub TextBox76_Change()
    Calculcumul2009
    End Sub
     Sub TextBox77_Change()
    Calculcumul2009
    End Sub
    Sub Calculcumul2009() 
   Me.TextBox82.Value = Val(Replace(Me.TextBox73, ",", ".")) + Val(Replace(Me.TextBox74, ",", ".")) + Val(Replace(Me.TextBox75, ",", ".")) + Val(Replace(Me.TextBox76, ",", ".")) + Val(Replace(Me.TextBox77, ",", "."))
    End Sub

Private Sub CommandButton4_Click()
 Dim Ligne As Long
 Dim I As Integer
 If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo) = vbYes Then
 If Me.ComboBox1.ListIndex = -1 Then Exit Sub
 Ligne = Me.ComboBox1.ListIndex + 2
 Ws.Cells(Ligne, "B") = ComboBox2
 For I = 1 To 145
 If Me.Controls("TextBox" & I).Visible = True The
 Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
 End If
 Next I
 End If
With Ws.Range("D7:co59")
            .NumberFormat = "0"
            .Value = .Value
End With
End Sub

Private Sub CommandButton3_Click()
MsgBox ("Avant de vouloir ajouter un actionnaire, vérrifiez bien que vous avez appuyer sur le bouton clear")
'Pour le bouton Nouveau associé
Dim Ligne As Long
Dim I As Integer
 If MsgBox("Confirmez-vous l'insertion de ce nouveau associé ?", vbYesNo) = vbYes Then
 Ligne = Sheets("Détail individuel").Range("a4").End(xlDown).Row + 1

 Range("A" & Ligne).Value = ComboBox1
 Range("B" & Ligne).Value = ComboBox2

For I = 1 To 145
 If Me.Controls("TextBox" & I).Visible = True Then
 Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
 End If
 Next I
 End If

With Ws.Range("D7:co59") 'D7:df59 plage de cellule
            .NumberFormat = "0"
            .Value = .Value
End With

End Sub

'Pour le bouton Quitter
Private Sub CommandButton1_Click()
Unload Me 'quitte l'interface
End Sub

bonjour

mon avis personnel : il ne faut pas faire de totaux ou sous-totaux ou autres calculs dans une base de données (sauf des calculs dans une colonne spécifique). Pas de ligne contenant des calculs.

Le risque de détruire partiellement la base de données est grand. Je l'ai vécu

Une BDD est faite pour la saisie uniquement, pas pour les synthèses.

Pour obtenir les totaux, fais un ou des TCD sur une feuille (ou mieux un classeur) séparée.

Bonus : pas besoin de macro pour gérer les calculs

Salut jmd,

Je fais deja des TCDs mais je voulais avoir dans ma base de données certaine formules du genre A2+A3=A4

des idées ?

les additions en colonnes sont fortement déconseillées (elles dépendent trop du tri ou filtrage des lignes) et elles figent la ligne 4, ce qui ferait hurler tout gestionnaire de données

il faut les mettre dans des TCD

joins ton fichier (anonymisé) et les calculs que tu veux avoir

pardon c'est des additions par ligne et non par colonnes , celles par colonnes sont sur mes TCDs et pour l'instant je réalise cette addition par

ub TextBox136_Change()
    Calculcumul2017
    End Sub

    Sub TextBox137_Change()
    Calculcumul2017
    End Sub

    Sub TextBox138_Change()
    Calculcumul2017
    End Sub

    Sub TextBox139_Change()
    Calculcumul2017
    End Sub
     Sub TextBox140_Change()
    Calculcumul2017
    End Sub
    Sub Calculcumul2017() 
   Me.TextBox145.Value = Val(Replace(Me.TextBox136, ",", ".")) + Val(Replace(Me.TextBox137, ",", ".")) + Val(Replace(Me.TextBox138, ",", ".")) + Val(Replace(Me.TextBox139, ",", ".")) + Val(Replace(Me.TextBox140, ",", "."))
    End Sub

Et désolé de ne pas te donner mon fichier mais j'ai trop de truc confidentielle à changer et je pensais à afficher le résultat sous forme de label est ce que cela pourrait marcher ?

Rechercher des sujets similaires à "conserver formule formulaire"