Somme d'une colonne vba

Résolu/Fermé
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 - 11 juin 2017 à 17:48
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 - 13 juin 2017 à 10:45
Bonjour,

je suis debutante en vba, je souhaiterai creer une macro qui permet de:
-sommer la valeur d'une colonne et par la suite la recuperer dans un autre tableau,pour vous clarifier ce que je voulais, vous trouvez ci-joint un fichier excel contient 2 tableaux le premier contient mes données et le 2eme tableau c'est les resultats obtenues apres l'excution de mon macro:

https://www.cjoint.com/c/GFlo2lmZiFj

je vous remercie en avance


A voir également:

1 réponse

Tu dois d'abord enregistrer ton fichier .xlsx avec le Type
"Classeur Excel (prenant en charge les macros)" pour
pouvoir y mettre une ou plusieurs macros.

Ensuite mets ce code dans Module1 :


Sub Essai()
  [L2].Formula = "=SUMIF(C$2:C$5,K2,F$2:F$5)"
  [L2].AutoFill [L2:L4], xlFillValues
End Sub


Merci de me dire si ça te convient.
 
0
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 2
11 juin 2017 à 19:06
merci tout d'abord pour votre temps que vous m'avez consacré pour me repondre. Votre code fonctionne que pour la somme, alors que moi je voulais qu'il m'affiche le tabeleau complet avec la colonne K et L, je dois pas normalement saisir les données dans la colonne K. J'espere que vous m'avez compris.
0
Lucien > NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017
11 juin 2017 à 22:06
 
En effet, tes nouvelles informations permettent de mieux comprendre
ta demande initiale ; voici donc le nouveau code VBA correspondant :


Option Explicit

Sub Essai()
  Dim dlig As Long
  dlig = Range("K" & Rows.Count).End(xlUp).Row
  Range("K1:L" & dlig).Clear: [F1].Copy [L1]
  dlig = Range("C" & Rows.Count).End(xlUp).Row
  Range("C1:C" & dlig).AdvancedFilter 2, , [K1], True
  [L2].Formula = "=SUMIF(C$2:C$" & dlig & ",K2,F$2:F$" & dlig & ")"
  dlig = Range("K" & Rows.Count).End(xlUp).Row
  [L2].AutoFill Range("L2:L" & dlig), 4
End Sub


Si ton problème est réglé, merci de passer le sujet en résolu.
 
0
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 2
12 juin 2017 à 11:37
Bonjour Lucien,

je vous remercie infiniment ça marche tres bien, j'ai SVP une autre qst, est ce que si possible en vba d'ajouter aussi la colonne A, je voulais affecter pour chaque somme, les cellules correspondante de la clolonne A.
vous trouvez ci-joint ce que je voulais:
https://www.cjoint.com/c/GFmjHkXI7rh
Merci
0
Lucien > NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017
12 juin 2017 à 14:03
 
Ta demande n'est pas très claire, et je ne suis même pas sûr de savoir
si cette demande est pour ton 1er fichier ou pour ton 2ème fichier !

--------------------------------------------------------------

1) Pour le 1er fichier que tu as transmis

Si tu veux rajouter en colonne J la colonne A, on peut déjà mettre "Lib CdC"
en J1, mais ensuite, ça va bloquer ! voici pourquoi :

Pour l'article d qui est seul, c'est le libellé 1514-a (en C5 et A5).
Pour l'article b qui est seul, c'est le libellé 1513-a (en C3 et A3).

Pour l'article a qui est en C2 et C4, quel libellé faudrait-il mettre en J2 ?
Le libellé de A2 (1513-a) ou le libellé de A4 (1514-a) ?

Je ne vois pas de solution, sauf peut-être à choisir par exemple le 1er libellé
rencontré, donc 1513-a ; mais peut-être préfères-tu choisir le dernier libellé,
donc 1514-a ? C'est un choix arbitraire que je ne peux pas faire à ta place !

--------------------------------------------------------------

2) Pour le 2ème fichier que tu as transmis

Sur la 1ère feuille "INTERVALLE", tes dates en colonne D étaient au format
Standard => les dates apparaissaient sous la forme de numéros de série ;
j'ai corrigé cela en mettant le format date jj-mmm-aa (le même que tu as
utilisé pour les dates de ta feuille "Sheet1", colonne D).

Sur la 2ème feuille "Sheet1", il y avait en I2 le nombre 84675,35 ; j'ai mis
cette formule à la place : =SOMME(F:F) en mettant aussi un format de
nombre avec 2 chiffres après la virgule et séparateur de milliers =>
84 675,35 ; si tu changes ta colonne F (modif ou ajout de montants),
I2 affichera la bonne somme.

Voici ton nouveau fichier : https://mon-partage.fr/f/fxAlhVEI/

--------------------------------------------------------------

« ... ajouter aussi la colonne A, je voulais affecter pour chaque somme,
les cellules correspondantes de la colonne A »

Si tu veux que je t'aide davantage, tu dois mieux préciser ta demande !

a) Est-elle pour le 1er fichier transmis ? ou pour le 2ème fichier ?

b) Quand tu parles de tes données, précise leur emplacement :
    sur quelle feuille ? en cellule B5 (par exemple) ; autre exemples :
    colonne "Date cpt" ; D6 à D10 (si la dernière ligne sera toujours
    la ligne 10) ; à partir de D6, ou D6 à dernière (si la dernière
    ligne est variable car ajout de données).

c) Pour une copie de données, préciser source et destination ; exemple :
    source : feuille "INTERVALLE", colonne A (Lib CdC)
    cible : feuille "Sheet1", à partir de K5

d) Complément d'info à donner pour le point c) :
    Si on doit copier seulement une partie des données source,
    quel critère utiliser pour choisir lesquelles ? exemples :
    les lignes dont les libellés commencent par "1516-"
    les lignes de telle date à telle date
    les lignes "1516-..." de telle date à telle date
 
0
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 2
12 juin 2017 à 14:36
d'abord je te rermercie pour votre interet de m'aider.
j'arrive pas a acceder a votre fichier :s

je vais vous expliquer avec un exemple:

Pour l'article d qui est seul, c'est le libellé 1514-a en M4
Pour l'article b qui est seul, c'est le libellé 1513-a en M3
Pour l'article a qui est en C2 et C4, je dois affiché les deux libelle: l'un dans la colonne M2 ET L'autre dans la colonne N2.
0