Macro somme cellule d'une plage souscondition
Résolu
nunnu27
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
nunnu27 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
nunnu27 Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Je viens soliciter votre aide car après plusieurs heures de recherche (livres, sites, et forums spécialisés), je ne trouve toujours pas la réponse a mon probleme.
Je m'explique:
exemple
J'ai une colonne A.
Je travaille sur les lignes 10 à 60.
La ligne 60 est la somme des cellules du dessus.
Dans les cellules "A10:A59", la valeur est par defaut 0.
Je peux modifier cette valeur(grâce a un double-clic) en "HS".
C-a-d que la valeur de la cellule A12 (par exemple) passe de 0 à HS (ce qui n'est donc pas un nombre ;) ...).
Je but est de pouvoir faire la "somme des cellules" de cette colonne qui ont pour valeur "different de zero".
C'est là que je bloque...:(
Je compte utiliser :
afin que cette routine soit toujours active.
Que me conseillez-vous (sachant que je touche au VBA depuis 3 jours, donc un pure néophyte :(....)
Merci d'avance pour votre aides et vos commentaires.
n.b:Pour infos j'utilise deja cette routine (somme sans condition car que des 0 ou 1 dans les cellules.
Merci d'avance
Cordialement
Je viens soliciter votre aide car après plusieurs heures de recherche (livres, sites, et forums spécialisés), je ne trouve toujours pas la réponse a mon probleme.
Je m'explique:
exemple
J'ai une colonne A.
Je travaille sur les lignes 10 à 60.
La ligne 60 est la somme des cellules du dessus.
Dans les cellules "A10:A59", la valeur est par defaut 0.
Je peux modifier cette valeur(grâce a un double-clic) en "HS".
C-a-d que la valeur de la cellule A12 (par exemple) passe de 0 à HS (ce qui n'est donc pas un nombre ;) ...).
Je but est de pouvoir faire la "somme des cellules" de cette colonne qui ont pour valeur "different de zero".
C'est là que je bloque...:(
Je compte utiliser :
Sub worksheet_change(ByVal target As Range) If Not Intersect(target, Range ("") Is Nothing Then End If End Sub
afin que cette routine soit toujours active.
Que me conseillez-vous (sachant que je touche au VBA depuis 3 jours, donc un pure néophyte :(....)
Merci d'avance pour votre aides et vos commentaires.
n.b:Pour infos j'utilise deja cette routine (somme sans condition car que des 0 ou 1 dans les cellules.
Sub worksheet_change(ByVal target As Range) If Not Intersect(target, Range("E10:E59,H10:H59,K10:K59,N10:N59,Q10:Q59,T10:T59,W10:W59,Z10:Z59,AC10:AC59,AF10:AF59,AI10:AI59,AK10:AK59")) Is Nothing Then Range("E60").FormulaLocal = "=Somme(E1:E59)" Range("H60").FormulaLocal = "=Somme(H1:H59)" Range("K60").FormulaLocal = "=Somme(K1:K59)" Range("N60").FormulaLocal = "=Somme(N1:N59)" Range("Q60").FormulaLocal = "=Somme(Q1:Q59)" Range("T60").FormulaLocal = "=Somme(T1:T59)" Range("W60").FormulaLocal = "=Somme(W1:W59)" Range("Z60").FormulaLocal = "=Somme(Z1:Z59)" Range("AC60").FormulaLocal = "=Somme(AC1:AC59)" Range("AF60").FormulaLocal = "=Somme(AF1:AF59)" Range("AI60").FormulaLocal = "=Somme(AI1:AI59)" Range("AK60").FormulaLocal = "=Somme(AK1:AK59)" End If End Sub
Merci d'avance
Cordialement
A voir également:
- Macro somme cellule d'une plage souscondition
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule somme excel colonne - Guide
- Excel somme si couleur cellule - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
5 réponses
Re bonsoir,
Alors on m'a proposé ceci:NB.SI(F10:F59;"<>0
or, je ne suis pas fichu de l'integrer dans ce code:
Range("F60").FormulaLocal = "NB.SI(F10:F59;"<>0")"
Il me dit "erreur de syntaxe".
Selon vous quelle est cette erreur?
Merci d'avance
Cordialement
Alors on m'a proposé ceci:NB.SI(F10:F59;"<>0
or, je ne suis pas fichu de l'integrer dans ce code:
Range("F60").FormulaLocal = "NB.SI(F10:F59;"<>0")"
Il me dit "erreur de syntaxe".
Selon vous quelle est cette erreur?
Merci d'avance
Cordialement
Salut le forum
C'est juste un problème de guillemets
Range("F60").FormulaLocal = "=NB.SI(F10:F59;""<>0"")"
Mytå
C'est juste un problème de guillemets
Range("F60").FormulaLocal = "=NB.SI(F10:F59;""<>0"")"
Mytå
Bonsoir Myta et merci de te pencher sur mon probleme ;)
Oui en effet, entre temps j'ai surfer sur le net et trouvé le coup des guillemets...
Pourtant même comme ça j'ai toujours un message d'erreur:
"erreur définie par l'application ou par l'objet"
Je te joints mon bout de code, cela vient peut etre de mon worksheet_change:
code:
Merci d'avance pour ton aide...
Cordialement
Oui en effet, entre temps j'ai surfer sur le net et trouvé le coup des guillemets...
Pourtant même comme ça j'ai toujours un message d'erreur:
"erreur définie par l'application ou par l'objet"
Je te joints mon bout de code, cela vient peut etre de mon worksheet_change:
code:
Sub worksheet_change(ByVal target As Range) If Not Intersect(target, Range("E10:E59,F10:F59,H10:H59,K10:K59,N10:N59,Q10:Q59,T10:T59,W10:W59,Z10:Z59,AC10:AC59,AF10:AF59,AI10:AI59,AK10:AK59")) Is Nothing Then ' Range("E60").FormulaLocal = "=Somme(E1:E59)" ' Range("H60").FormulaLocal = "=Somme(H1:H59)" 'Range("K60").FormulaLocal = "=Somme(K1:K59)" 'Range("N60").FormulaLocal = "=Somme(N1:N59)" ' Range("Q60").FormulaLocal = "=Somme(Q1:Q59)" ' Range("T60").FormulaLocal = "=Somme(T1:T59)" ' Range("W60").FormulaLocal = "=Somme(W1:W59)" ' Range("Z60").FormulaLocal = "=Somme(Z1:Z59)" ' Range("AC60").FormulaLocal = "=Somme(AC1:AC59)" ' Range("AF60").FormulaLocal = "=Somme(AF1:AF59)" 'Range("AI60").FormulaLocal = "=Somme(AI1:AI59)" 'Range("AK60").FormulaLocal = "=Somme(AK1:AK59)" Range("F60").FormulaLocal = "=NB.SI(F10:F59);""<>0"")" End If End Sub
Merci d'avance pour ton aide...
Cordialement
Re le forum
Ca semble bien fonctionner
Mytå
Ca semble bien fonctionner
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, _ Range("E10:E59,F10:F59,H10:H59,K10:K59,N10:N59,Q10:Q59," & _ "T10:T59,W10:W59,Z10:Z59,AC10:AC59,AF10:AF59,AI10:AI59,AK10:AK59")) _ Is Nothing Then ' Range("E60").FormulaLocal = "=Somme(E1:E59)" ' Range("H60").FormulaLocal = "=Somme(H1:H59)" ' Range("K60").FormulaLocal = "=Somme(K1:K59)" ' Range("N60").FormulaLocal = "=Somme(N1:N59)" ' Range("Q60").FormulaLocal = "=Somme(Q1:Q59)" ' Range("T60").FormulaLocal = "=Somme(T1:T59)" ' Range("W60").FormulaLocal = "=Somme(W1:W59)" ' Range("Z60").FormulaLocal = "=Somme(Z1:Z59)" ' Range("AC60").FormulaLocal = "=Somme(AC1:AC59)" ' Range("AF60").FormulaLocal = "=Somme(AF1:AF59)" ' Range("AI60").FormulaLocal = "=Somme(AI1:AI59)" ' Range("AK60").FormulaLocal = "=Somme(AK1:AK59)" Range("F60").FormulaLocal = "=NB.SI(F10:F59;""<>0"")" End If End Sub
Mytå
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re a tous,
En effet, après avoir chercher comme un dératé (et c'est le mots !).
On m'a aimablement signalé qu'il y avait une parenthèse en trop
.....rohhh le boulet ! :(
Bref, en effet, cela fonctionne maintenant parfaitement.
Sur ce, merci encore pour tes interventions (et donc le temps passé à éplucher mes questions ;) ).
Bonne soirée et bon courage pour la semaine qui pointe le bout de son nez !
Amicalement
Manu
n.b:je considère ce topic comme résolu.
++
En effet, après avoir chercher comme un dératé (et c'est le mots !).
On m'a aimablement signalé qu'il y avait une parenthèse en trop
Range("F60").FormulaLocal = "=NB.SI(F10:F59);""<>0"")"
.....rohhh le boulet ! :(
Bref, en effet, cela fonctionne maintenant parfaitement.
Sur ce, merci encore pour tes interventions (et donc le temps passé à éplucher mes questions ;) ).
Bonne soirée et bon courage pour la semaine qui pointe le bout de son nez !
Amicalement
Manu
n.b:je considère ce topic comme résolu.
++