Menu

Somme de deux colonnes et égalité entre elles [Résolu]

Messages postés
13
Date d'inscription
lundi 11 juin 2018
Dernière intervention
14 juin 2018
- - Dernière réponse : lili4915
Messages postés
13
Date d'inscription
lundi 11 juin 2018
Dernière intervention
14 juin 2018
- 11 juin 2018 à 17:07
Bonjour,

Je souhaite créer un programme simple qui consiste à sommer deux colonnes (F et G) et afficher un message qui indique si les sommes des deux colonnes sont égales ou non

Petites précisions, le calcul de somme doit commencer à la ligne 2 et se terminer à la fin du tableau soit lorsque la ligne testée est vide. Il se peut que la différence entre les deux soit minime (au delà du 5ème chiffre après la virgule) et je souhaiterais que le programme ne la prenne pas en compte

Pouvez-vous m'aider ?
Afficher la suite 

Votre réponse

2 réponses

Messages postés
57517
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
21 janvier 2019
8232
0
Merci
Bonjour,

Quelqu'un pourra peut-être t'aider si tu montres ce que tu as fait comme tentatives de résolution.
lili4915
Messages postés
13
Date d'inscription
lundi 11 juin 2018
Dernière intervention
14 juin 2018
-
Voici ce que j'ai fait en recherchant des informations sur le forum, mais cela ne marche pas :

Const lideb = 2

Sub Test()
Dim li As Long
li = lideb
With ActiveSheet
    While .Range("F" & li).Value <> ""
        If Application.Sum(Range("F" & li).EntireColumn = Application.Sum(Range("G" & li).EntireColumn) Then msgbox ("Equilibre vérifié")
    li = li + 1
    Wend
End With
MsgBox ("Equilibre non vérifié")
End Sub
Commenter la réponse de Chris 94
Messages postés
8741
Date d'inscription
lundi 18 octobre 2010
Dernière intervention
21 janvier 2019
1869
0
Merci
Bonjour

En supposant qu'en colonnes F et G il y a le même nombre de lignes à sommer

Option Explicit

Const lideb = 2

Sub Test()
Dim lifin As Long
Dim SomF As Double, somG As Double
With ActiveSheet
  lifin = .Range("F" & Rows.Count).End(xlUp).Row
  SomF = Application.WorksheetFunction.Sum(Range("F" & lideb & ":F" & lifin))
  somG = Application.WorksheetFunction.Sum(Range("G" & lideb & ":G" & lifin))
  If SomF = somG Then
      MsgBox ("Equilibre vérifié")
  Else
      MsgBox ("Equilibre non vérifié")
  End If
End With
End Sub

Cdlmnt

RQ. Utilises la coloration syntaxique pour montrer tes programmes (l'icone flèche en bas en haut à droite de la fenêtre d'édition)

Cdlmnt
lili4915
Messages postés
13
Date d'inscription
lundi 11 juin 2018
Dernière intervention
14 juin 2018
-
Merci beaucoup !
J'y penserai la prochaine fois

Bonne fin d'après-midi
Commenter la réponse de ccm81