Incrémenter une formule si une plage de cellule n'est pas vide [Résolu]

Signaler
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
-
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
-
Bonjour à tous,

je viens auprès de vous pour choper des idées en réponses à un problème ....

Voilà mon problème, je voudrais que lorsqu'une ou plusieurs valeurs sont saisies dans une plage une formule (somme par exemple) soit automatiquement affectée dans une autre cellule. Dans le cas contraire, ladite cellule reste vide et ne fait pas de calcul.

Voili voilou ....

Merci de votre aide !!!

A+

6 réponses

Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013

Merci pour l'aide apportée ... je réponds tardivement mais en cherchant un peu + ton aide j'ai trouvé ma solution !

Merci encore !
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut

Tes explications ne veulent rien dire.
Relis-toi

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013

Bonsoir,

Effectivement y'a un bout de phrase qui manque ... donc je reprécise :

J'ai une plage de cellules, dans Excel, disons A2:A5 où l'utilisateur fait ou non une saisie.

Dans le cas où une saisie est faite dans la plage, je souhaite qu'en A1 soit incrementé la formule somme(A2:A5). Si la plage est vide, alors je souhaite que A1 soit également vide (et donc ne contenant pas de formule).

Ai je été suffisamment précis ? sinon faut me le dire et je re-préciserais

Merci de votre aide ....

A+
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013

En tâtonnant un peu j'ai réussi à faire fonctionner cela :

Private Sub Worksheet_Change(ByVal Target As Range)

Set maplage=range("A2:A5")

If Application.CountA(maplage) <> 0 Then
Range("A1").Formula = "=sum(A2:A5)"
End If

End sub


... mais la solution n'est que partielle puisque si maplage devient vide, la formule reste incrémentée en A1 ...
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
"Dans le cas où une saisie est faite dans la plage"
Tu veux dire "Dans le cas où toutes les cellules de la plage ont été renseignées"

"je souhaite qu'en A1 soit incrementé la formule somme(A2:A5)"
Qu'est qu'une incrémentation vient faire la dedans ?
    Dim maCellule As Range
    Dim bFlag As Boolean
    For Each maCellule In Range("A1:A5")
        If maCellule.Value = "" Then
            bFlag = True
            Exit For
        End If
    Next
    If bFlag Then
        Range("A1").Value = ""
    Else
        Range("A1").Formula = "=tralala"
    End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
ou
If IsEmpy(maCellule) Then
(pas sûr de la syntaxe, à vérifier)