VBA Somme de lignes

Bonjour à vous,

J'ai un petit problème sur VBA pour appliquer une somme de cellules prédéfinies (ademettons A12 à A14), prédéfinie par un nom : "Q_A"

Cette somme doit être égale à un nombre dans une cellule fixée appellée Q_B (en B5)

Sous vba je me retrouve avec ça :

    If Q_B <> Application.WorksheetFunction.Sum(Q_A) Then
        MsgBox "Problème sommes des quantitatifs Infra", vbCritical + vbOKOnly
    End If

Cependant si je rajoute dans la cellule B5 sous excel un nombre +1 (=somme(A12:A14)+1), la fonction ne s’exécute pas et la MsgBox n'apparait pas. Pourtant la Zone et la cellule ne sont pas égales.

La fonction sous vBA fonctionne bien, si je remplace les noms Q_B par cette fonction si :

    If Cells (5;2) <> Application.WorksheetFunction.Sum(Range("A12:A14")) Then
        MsgBox "Problème sommes des quantitatifs Infra", vbCritical + vbOKOnly
    End If

Cependant je ne veux pas passer par des lettres et des chiffres mais bien par des Noms associés aux cellules. Si je vient insérer une ligne, elle ne sera pas pris en compte dans la sélection 12:14.

Pouvez-vous m'aider ?

Cordialement,

Ela_

Hello Ela_.

C'est normal que celà ne fonctionne pas dans ton code Q_A et Q_B ne sont pas définis et donc par conséquent VBA leur implémente une valeur nulle donc ton test est tjrs vrai.

Celà fonctionne si par exemple si tu fais ça :

Dim Q_B, Q_A As Range

Set Q_B = Range("B5")

Set Q_A = Range("A12:A14")

If Q_B <> Application.WorksheetFunction.Sum(Q_A) Then

MsgBox "Problème sommes des quantitatifs Infra", vbCritical + vbOKOnly

End If

Toutefois si tu insères de nouvelles données elles ne seront pas prises en compte comme tu le disais.

Avec un fichier exemple celà serait plus facile de trouver une solution.

Cdlt.

Voilà le fichier joint d'exemple.

En gros, si je rajoute ça :

Dim Q_B, Q_A As Range
Set Q_B = Range("E5")
Set Q_A = Range("B3:B9")

Ca fonctionne, mais si je viens insérer une ligne entre les ligne 3 et 9, tout se décalle et la formule ne s'applique plus.

10test-ela.xlsm (16.30 Ko)

Voilà là ça devrait fonctionner comme tu le souhaites tiens moi au courant.

Cdlt.

Edit : Dsl j'ai oublié de joindre le fichier Ela_

8test-ela.xlsm (16.14 Ko)
Rechercher des sujets similaires à "vba somme lignes"