Menu

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

lili4915 13 Messages postés lundi 11 juin 2018Date d'inscription 14 juin 2018 Dernière intervention - 11 juin 2018 à 14:06 - Dernière réponse : lili4915 13 Messages postés lundi 11 juin 2018Date d'inscription 14 juin 2018 Dernière intervention
- 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

4 réponses

Chris 94 56099 Messages postés mardi 8 janvier 2008Date d'inscriptionModérateurStatut 22 octobre 2018 Dernière intervention - 11 juin 2018 à 14:10
0
Merci
Bonjour,

Quelqu'un pourra peut-être t'aider si tu montres ce que tu as fait comme tentatives de résolution.
lili4915 13 Messages postés lundi 11 juin 2018Date d'inscription 14 juin 2018 Dernière intervention - 11 juin 2018 à 14:24
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
ccm81 8671 Messages postés lundi 18 octobre 2010Date d'inscription 21 octobre 2018 Dernière intervention - Modifié par ccm81 le 11/06/2018 à 14:39
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 13 Messages postés lundi 11 juin 2018Date d'inscription 14 juin 2018 Dernière intervention - 11 juin 2018 à 17:07
Merci beaucoup !
J'y penserai la prochaine fois

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