Somme si la selection dans une plage donné vb
Résolu/Fermé
gnioler
Messages postés
88
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
7 janvier 2015
-
26 oct. 2011 à 13:00
gnioler - 27 oct. 2011 à 22:43
gnioler - 27 oct. 2011 à 22:43
A voir également:
- Somme si la selection dans une plage donné vb
- Formule somme excel colonne - Guide
- Somme si couleur - Guide
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- L'url suivante, censée aboutir à un article, donne lieu à une redirection indiquant que la page n'a pas été trouvée. retrouvez la page recherchée. reportez le titre de l’article et son auteur. - Forum Microsoft Edge / Internet Explorer
21 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 26/10/2011 à 16:31
Modifié par lermite222 le 26/10/2011 à 16:31
Bonjour,
Et comment tu fait la sélection des cellules ?.
Où doit être le résultat ?
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Et comment tu fait la sélection des cellules ?.
Où doit être le résultat ?
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 26/10/2011 à 17:26
Modifié par lermite222 le 26/10/2011 à 17:26
Peut-être que cette solution te conviendras ?
Cliquer sur une cellule de la plage la colorie en rouge, recliquer dessus la remet à la couleur par défaut.
Le total des cellules rouge s'inscrit automatiquement en A1
A coller dans le code de la feuille
Il serait plus simple de mettre un formule en A1 mais suis pas fort en formule Excel et laisse ce soins à un autre intervenant.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Cliquer sur une cellule de la plage la colorie en rouge, recliquer dessus la remet à la couleur par défaut.
Le total des cellules rouge s'inscrit automatiquement en A1
A coller dans le code de la feuille
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim cel As Range, Total As Single If Target.Count > 1 Then Exit Sub If Not Intersect(Target, [D29:G62]) Is Nothing Then If Target.Interior.Color = vbRed Then Target.Interior.ColorIndex = -4142 Else Target.Interior.Color = vbRed End If Total = 0 For Each cel In [D29:G62] If cel.Interior.Color = vbRed Then Total = Total + cel.Value End If Next cel [A1] = Total End If End Sub
Il serait plus simple de mettre un formule en A1 mais suis pas fort en formule Excel et laisse ce soins à un autre intervenant.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
gnioler
Messages postés
88
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
7 janvier 2015
3
26 oct. 2011 à 23:02
26 oct. 2011 à 23:02
bonjour
je pense que la formule dont j'ai besoin est beaucoup plus courte car en fait
j'ai deja une macro de calcul complete sur plusieurs ligne, je veux juste avant tous ca inseré 3 ligne de macro pour dire si la selection que j'ai faite avec ma souris est dans la plage D29:G62 avec un minimum de 2 ligne et 4 colones alors j'execute tous le reste
j'ai essayer d'integrer
If Not Intersect(Target, [D29:G62]) Is Nothing Then
If Intersect(Target, [D29:G62]) Then
end if
mais j'ai du faire une erreur
je pense que la formule dont j'ai besoin est beaucoup plus courte car en fait
j'ai deja une macro de calcul complete sur plusieurs ligne, je veux juste avant tous ca inseré 3 ligne de macro pour dire si la selection que j'ai faite avec ma souris est dans la plage D29:G62 avec un minimum de 2 ligne et 4 colones alors j'execute tous le reste
j'ai essayer d'integrer
If Not Intersect(Target, [D29:G62]) Is Nothing Then
If Intersect(Target, [D29:G62]) Then
end if
mais j'ai du faire une erreur
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 27/10/2011 à 02:04
Modifié par lermite222 le 27/10/2011 à 02:04
Je ne pense pas pouvoir faire cela en "trois lignes" si tu trouve tant mieux pour toi, mais si ça t'intéresse avec quelque lignes en plus...
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim cel As Range, S() As String If Not Intersect(Target, [D29:G62]) Is Nothing Then If Target.Count < 8 Then Exit Sub 'Y a moins de 8 cellules sélectionnées S = Split(Target.Address, ":") If Target.Column <> 4 Or Range(S(1)).Column <> 7 Then Exit Sub 'pour avoir 4 colonnes ça doit commencer en D et finir en G 'ICI les conditions sont remplies 'et si tout le reste c'est la somme de ces cellules le plus simple c'est [A1] = 0 'pour exemple en A1 For Each cel In Target [A1] = [A1] + cel Next cel End If End Sub
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
merci beaucoup
et désolé mais 3 ligne était une expression je débute en VBA
faut pas m'en vouloir
j'essaye et je vous tient au courant
merci beaucoup
et désolé mais 3 ligne était une expression je débute en VBA
faut pas m'en vouloir
j'essaye et je vous tient au courant
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
Modifié par eriiic le 27/10/2011 à 10:59
Modifié par eriiic le 27/10/2011 à 10:59
Bonjour tout le monde,
Lermitte, j'ai l'impression que tu ne testes pas si la sélection dépasse la ligne 62.
Autre proposition :
eric
Lermitte, j'ai l'impression que tu ne testes pas si la sélection dépasse la ligne 62.
Autre proposition :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 4 Or Target.Columns.Count <> 4 Then Exit Sub If Target.Row < 29 Or Target.Rows.Count < 2 Or Target.Row + Target.Rows.Count - 1 > 62 Then Exit Sub ' ton programme [A28] = Application.Sum(Target) End Sub
eric
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 27/10/2011 à 15:08
Modifié par lermite222 le 27/10/2011 à 15:08
Salut Eric,
Exact, j'ai pas tester les limites row.
Mais j'ai mis
If Target.Count < 8 Then Exit Sub 'Y a moins de 8 cellules
pour éviter de faire les autre tests si cette conditions n'est pas remplie, une habitude de quand les PC étaient très lent..
Elle peut remplacer - Or Target.Rows.Count < 2
A+
PS: Je connaît aussi Rows.Count et .Columns.Count mais je ne sais pas ce qui s'est passé Excel n'a pas voulu les prendre.
Exact, j'ai pas tester les limites row.
Mais j'ai mis
If Target.Count < 8 Then Exit Sub 'Y a moins de 8 cellules
pour éviter de faire les autre tests si cette conditions n'est pas remplie, une habitude de quand les PC étaient très lent..
Elle peut remplacer - Or Target.Rows.Count < 2
A+
PS: Je connaît aussi Rows.Count et .Columns.Count mais je ne sais pas ce qui s'est passé Excel n'a pas voulu les prendre.
gnioler
Messages postés
88
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
7 janvier 2015
3
27 oct. 2011 à 15:15
27 oct. 2011 à 15:15
merci beaucoup
je viens d'essayer la formule de eric
mais ca ne marche pas car il me souligne la 2eme ligne
je ne comprend pas ce que veut dire la ligne
[A28]=application.sum(target)
et les numero utilisé dans la 2/3/ et 4eme ligne c'est le numero des colones et cellules mais si ma colonne D et E sont fusioné comment on les compte
je viens d'essayer la formule de eric
mais ca ne marche pas car il me souligne la 2eme ligne
je ne comprend pas ce que veut dire la ligne
[A28]=application.sum(target)
et les numero utilisé dans la 2/3/ et 4eme ligne c'est le numero des colones et cellules mais si ma colonne D et E sont fusioné comment on les compte
gnioler
Messages postés
88
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
7 janvier 2015
3
27 oct. 2011 à 16:02
27 oct. 2011 à 16:02
rebonjour a tous les 2 j'ai essayer vos 2 macro seule
ca ne marche pas
de plus quand je les écrit tel quel elle disparaisse je ne les trouve plus dans macro, afficher les macro, pourquoi?
merci pour vos reponse
ca ne marche pas
de plus quand je les écrit tel quel elle disparaisse je ne les trouve plus dans macro, afficher les macro, pourquoi?
merci pour vos reponse
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
27 oct. 2011 à 16:51
27 oct. 2011 à 16:51
Re,
ca ne marche pas
de plus quand je les écrit tel quel elle disparaisse je ne les trouve plus dans macro, afficher les macro, pourquoi?
Parce que tu ne fais pas bien, impossible de savoir sans être devant ton micro.
je ne comprend pas ce que veut dire la ligne
[A28]=application.sum(target)
met la somme d'une sélection valide en A28
un exemple fonctionnel :
http://www.cijoint.fr/cjlink.php?file=cj201110/cijEzfwE9y.xls
les fusions de cellules sont à éviter au maximum !!!!
Ici en l'occurence ça ne gène pas....
eric
ca ne marche pas
de plus quand je les écrit tel quel elle disparaisse je ne les trouve plus dans macro, afficher les macro, pourquoi?
Parce que tu ne fais pas bien, impossible de savoir sans être devant ton micro.
je ne comprend pas ce que veut dire la ligne
[A28]=application.sum(target)
met la somme d'une sélection valide en A28
un exemple fonctionnel :
http://www.cijoint.fr/cjlink.php?file=cj201110/cijEzfwE9y.xls
les fusions de cellules sont à éviter au maximum !!!!
Ici en l'occurence ça ne gène pas....
eric
gnioler
Messages postés
88
Date d'inscription
mercredi 5 octobre 2011
Statut
Membre
Dernière intervention
7 janvier 2015
3
27 oct. 2011 à 17:03
27 oct. 2011 à 17:03
re
si si je suis devant mon micro
mais désolé je debute alors je ne comprend pas tout
l'exemple fonctionel ne s'ouvre pas le lien est bloqué
par contre pourquoi la macro disparait quand j'ecrit private devant et quand je l'enleve je la retrouve
si si je suis devant mon micro
mais désolé je debute alors je ne comprend pas tout
l'exemple fonctionel ne s'ouvre pas le lien est bloqué
par contre pourquoi la macro disparait quand j'ecrit private devant et quand je l'enleve je la retrouve
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
27 oct. 2011 à 17:44
27 oct. 2011 à 17:44
cijoint.fr merdouille un peu parfois.
J'étais sur un autre micro et je ne peux pas l'uploader sur un autre site, re-essaie un peu plus tard.
par contre pourquoi la macro disparait quand j'ecrit private devant et quand je l'enleve je la retrouve
Tu sais que tu si tu mets ton curseur sur une instruction et que tu fais F1 tu as une excellente aide ?
eric
J'étais sur un autre micro et je ne peux pas l'uploader sur un autre site, re-essaie un peu plus tard.
par contre pourquoi la macro disparait quand j'ecrit private devant et quand je l'enleve je la retrouve
Tu sais que tu si tu mets ton curseur sur une instruction et que tu fais F1 tu as une excellente aide ?
eric
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 27/10/2011 à 18:58
Modifié par lermite222 le 27/10/2011 à 18:58
RE?
je crois que j'ai compris !!!
Dans Excel >> Tu tape Alt+F11
L'IDE de visual basic s'ouvre
A gauche tu à la fenêtre de l'explorateur de projet avec les noms de tes feuilles, si tu ne le trouve pas tu tape Ctrl+R
Tu double clic sur le nom de la feuille concernée.
Dans la fenêtre qui s'ouvre tu fais un copier/coller de la macro d'Eric
Tu ferme l'IDE (la croix rouge)
Et GO... tu test
Et oublie pas de sauver Excel
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
je crois que j'ai compris !!!
Dans Excel >> Tu tape Alt+F11
L'IDE de visual basic s'ouvre
A gauche tu à la fenêtre de l'explorateur de projet avec les noms de tes feuilles, si tu ne le trouve pas tu tape Ctrl+R
Tu double clic sur le nom de la feuille concernée.
Dans la fenêtre qui s'ouvre tu fais un copier/coller de la macro d'Eric
Tu ferme l'IDE (la croix rouge)
Et GO... tu test
Et oublie pas de sauver Excel
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 27/10/2011 à 19:02
Modifié par lermite222 le 27/10/2011 à 19:02
Pour réactualiser, tu à lu mon poste précédant pendant que je le modifiait.
Et j'ajouterais .. TU NE FAIT RIEN D'AUTRE
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Et j'ajouterais .. TU NE FAIT RIEN D'AUTRE
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
27 oct. 2011 à 19:28
27 oct. 2011 à 19:28
Rien, c'est automatique
Tu devrais avoir le total des cellules sélectionnées dans la cellule A28
Tu devrais avoir le total des cellules sélectionnées dans la cellule A28
ha ok
je vais essayer
par contre il me le faut pas en automatique car j'ai crée un bouton pour cliquer dessus
qu'est ce qu'il faut que j'enleve dans la formule pour qu'il ne soit pas automatique
je vais essayer
par contre il me le faut pas en automatique car j'ai crée un bouton pour cliquer dessus
qu'est ce qu'il faut que j'enleve dans la formule pour qu'il ne soit pas automatique
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
Modifié par eriiic le 27/10/2011 à 19:47
Modifié par eriiic le 27/10/2011 à 19:47
essaie avec ça (non testé mais ça ne devrait pas être trop loin...)
eric
Sub sumSel() If Selection.Column <> 4 Or Selection.Columns.Count <> 4 Then Exit Sub If Selection.Row < 29 Or Selection.Rows.Count < 2 Or Selection.Row + Selection.Rows.Count - 1 > 62 Then Exit Sub ' ton programme [A28] = Application.Sum(Selection) End Sub
eric
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 27/10/2011 à 19:54
Modifié par lermite222 le 27/10/2011 à 19:54
Y a quoi dans le code de ton bouton ?
Montre le code
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Montre le code
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
ca y est ca marche
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
27 oct. 2011 à 20:12
27 oct. 2011 à 20:12
oui, à mettre au début pour sortir de la macro si selection incorrecte.
eric
eric
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 254
27 oct. 2011 à 22:00
27 oct. 2011 à 22:00
évite de modifier les messages après une réponse, sinon on ne comprend plus... ;-)