Calcul deux sommes à partir de deux sommes !

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

goliath760

XLDnaute Nouveau
Bonjour,
Je me permet encore de venir vers vous pour trouver une solution à mon problème. Voilà sur le tableau ci joint, je voudrais calculer automatiquement deux somme3 et somme4 mais qui soit différentes et égales à somme1 et somme2.

Merci d'avance.
 

Pièces jointes

Re : Calcul deux sommes à partir de deux sommes !

Bonjour,
Merci pour la réponse rapide, sinon le seul critère que juste la somme3 soit supérieure à la somme4 et si possible si j'apporte des modifications à la somme3 ou somme4 que le calcul de l'une à l'autre soit automatique.

Merci bcps
 
Re : Calcul deux sommes à partir de deux sommes !

Re,

Dorénavant c'est parfait, merci pour la rapidité et l'efficacité.

Bonne journée également


- Comment remettre le réajustement des cellules; il a cessé de fonctionner, j'ai introduis un montant conséquent par erreur et j'ai eu un message de débogage, après le rajustement ne fonctionne plus.

MERCI
 
Dernière édition:
Re : Calcul deux sommes à partir de deux sommes !

Re-,

Ce fonctionnement est du à l'utilisation de l'instruction "Application.EnableEvents...."

Pour t'en prémunir, remplace ton code par celui-ci (clic droit sur le nom de l'onglet, "Visualiser le code") :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
If Flag Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Not IsNumeric(Target) Then Exit Sub
If Not Intersect(Target, Range("C2:D31")) Is Nothing Then
    Application.EnableEvents = False
    Select Case Target.Column
        Case 3
            Target.Offset(, 1) = Application.Sum(Target.Offset(, -2).Resize(1, 2)) - Target
        Case 4
            Target.Offset(, -1) = Application.Sum(Target.Offset(, -3).Resize(1, 2)) - Target
    End Select
End If
Application.EnableEvents = True
End Sub

Par contre, je ne pense pas que ce soit du à un nombre trop conséquent, mais plutôt à une entrée non numérique....

Pour repartir, déroule ce petit code :

Code:
Sub remet()
Application.EnableEvents = True
End Sub

Bonne journée
 
Re : Calcul deux sommes à partir de deux sommes !

Salut
@ bhbh : à quoi sert ton drapeau (Flag) ?
Pour éviter la variable booléenne "Application.Enable" qui peut bloquer les évènementielles, je proposerais :
Code:
 Private Sub Worksheet_Change(ByVal Target As Range)
   [B]Dim Flag As Boolean[/B]
  [B] If Flag Then Exit Sub[/B]
   If Target.Count > 1 Then Exit Sub
   If Not IsNumeric(Target) Then Exit Sub
   If Not Intersect(Target, Range("C2:D31")) Is Nothing Then
     [B]Flag = True[/B] 'pour bloqer les appels successifs
     Select Case Target.Column
     Case 3
     Target.Offset(, 1) = Application.Sum(Target.Offset(, -2).Resize(1, 2)) - Target
     Case 4
        Target.Offset(, -1) = Application.Sum(Target.Offset(, -3).Resize(1, 2)) - Target
     End Select
  End If
End Sub
Sinon, j'avais plutôt fait (de façon plus basique) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Li As Integer, Col As Byte, S As Double
  Li = Target.Row: Col = Target.Column
  If Target.Count > 1 Or Li = 1 Then Exit Sub
  If IsNumeric(Target) And Not IsEmpty(Target) Then
    S = Cells(Li, "A") + Cells(Li, "B") - Target
    If Col = 3 Then Cells(Li, "D") = S
    If Col = 4 Then Cells(Li, "C") = S
  Else
    If Col = 3 Or Col = 4 Then Range(Cells(Li, "C"), Cells(Li, "D")).ClearContents
  End If
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
329
Retour