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

Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
- - Dernière réponse : gerardcjf
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
- 1 nov. 2010 à 21:42
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+
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
3
Merci
Merci pour l'aide apportée ... je réponds tardivement mais en cherchant un peu + ton aide j'ai trouvé ma solution !

Merci encore !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de gerardcjf
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
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)
Commenter la réponse de cs_Jack
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
0
Merci
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+
Commenter la réponse de gerardcjf
Messages postés
47
Date d'inscription
mardi 3 juillet 2007
Statut
Membre
Dernière intervention
26 décembre 2013
0
Merci
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 ...
Commenter la réponse de gerardcjf
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
"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)
Commenter la réponse de cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
ou
If IsEmpy(maCellule) Then
(pas sûr de la syntaxe, à vérifier)
Commenter la réponse de cs_Jack