|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 7 ![]() |
Bonjour,
Je souhaite trouver une solution VBA pour résoudre mon problème : Additionner des données chiffrés si la première colonne contient la même information. C'est pas très clair je sais alors ... petit exemple : Colonne A Colonne B Colonne C JOJO 4 7 DAMIEN 2 1 LUC 6 4 JOJO 3 2 ROUDOUDOU 1 7 Je souhaite que lorsque la colonne A contienne le nom "JOJO", les données de la colonne B et de la colonne C s'additionnent soit : 4 + 7 + 3 + 2. Tout ça en valeur absolu. Le must serait que les donnés puissent ressortir sur une autre feuille Excel avec une seule ligne JOJO et une seule colonne avec les chiffrés additionnés, ici : 16. J'ai cherché sur le net et sur ce forum, mais je n'ai pas trouvé, et évidemment je suis novice en VBA. J'ai déjà bien galérer aujourd'hui, là ça me dépasse complètement. Merci d'avance pour ceux qui m'aideront. |
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 897 ![]() |
Bonjour,
Une solution en utilisant la formule Somme.Si en VBA Ici on retourne dans un msgbox la somme des colonnes B et C si dans A on trouve TOTO Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 7 ![]() |
Yeah merci ! Mais comment faire pour que le résultat s'affiche sur une nouvelle feuille et non une MsgBox ?
|
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 897 ![]() |
Comme cela
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 7 ![]() |
Grand merci.
Bonjour, J'ai essayé de remettre la formule à ma convenance sans venir vous dérangez, mais malheureusement je n'y arrive pas Est-il possible d'utiliser cette formule VBA pour toutes les cellules en ("A:A") ? Pas juste pour "TOTO" mai pour tous : "TOTO", "JOJO", "DAMIEN" etc Et donc que cela ressorte en : "TOTO" --> Total "JOJO" --> Total |
|
|
00
|
|
|
#6 | ||||
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
une petite boucle For devrait suffir
Code :
Code :
|
||||
|
|
00
|
|
|
#7 | |||
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 897 ![]() |
j'ai adapté mon précédent code
Code :
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 7 ![]() |
Je suis débutant, et quand je dis débutant j'entend par là que j'ai débuté avant hier
Donc évidemment l'erreur je la vois pas, même si j'essaye d'être logique et de bien réfléchir ! Une fois que j'aurai fini cette macro, je commencerai par voir les bases de VBA que je n'ai pas ! Merci pour votre aide en tous cas. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
lol pas de soucis, ne te fie pas aux étoile, je débute en VBA
l'erreur était que tu allait ércire toujours sur la même ligne... Code :
' par contre ici ça ne marche pas, tu remplie toujours les cases A1 et B1 de la feuille 3
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : septembre 2011 Messages : 7 ![]() |
OH MY GOD ! Jérome your solution is so PERFECT !
Merci beaucoup c'est génial ! @Hunteshiva : Oui l'erreur je l'avais repéré, c'est de la corriger qui posait problème XD |
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() eric MaitreÉtudiant Inscription : février 2010 Messages : 954 ![]() |
Jérome t'a donné la solution,
dans la boucle For à chaque "i" tu incrémente la case A, afin de remplir A1 puis A2, puis A3, ... Code :
shDest.Range("A" & iDest).Value = strNom |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com