VBA Excel: code pour fonction somme à étendre
Résolu/Fermé
Amélie
-
Modifié par Amélie le 16/12/2013 à 13:26
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 18 déc. 2013 à 18:01
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 18 déc. 2013 à 18:01
Bonjour,
Ma feuille Excel comporte un tableau avec en colonne A des noms, en ligne 1 le titre des colonnes et à l'intérieur du tableau, des données numériques.
En ligne 2, j'aimerais faire la somme des données de la colonne (ex: en B2, obtenir la somme de B3 à Bn) et appliquer la formule aux autres colonnes du tableau (C2 pour la somme de la colonne C, D2 pour la somme de la colonne D...) sachant que le nombre de lignes et de colonnes peut varier d'un classeur à l'autre; comment faire?
Merci d'avance pour votre aide!
Ma feuille Excel comporte un tableau avec en colonne A des noms, en ligne 1 le titre des colonnes et à l'intérieur du tableau, des données numériques.
En ligne 2, j'aimerais faire la somme des données de la colonne (ex: en B2, obtenir la somme de B3 à Bn) et appliquer la formule aux autres colonnes du tableau (C2 pour la somme de la colonne C, D2 pour la somme de la colonne D...) sachant que le nombre de lignes et de colonnes peut varier d'un classeur à l'autre; comment faire?
Merci d'avance pour votre aide!
A voir également:
- VBA Excel: code pour fonction somme à étendre
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 17/12/2013 à 15:49
Modifié par Polux31 le 17/12/2013 à 15:49
Bonjour,
Peut être avec ça, en l'adaptant pour le classeur et la feuille :
;0)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Peut être avec ça, en l'adaptant pour le classeur et la feuille :
Sub Totaux() Dim dercol As Long Dim derlig As Long Dim wk As Workbook Dim ws As Worksheet Dim i As Long Dim j As Long Set wk = ThisWorkbook '--- A adapter Set ws = wk.Worksheets(1) '--- A adapter dercol = ws.Range("A1").End(xlToRight).Column derlig = ws.Range("A" & Rows.Count).End(xlUp).Row For i = 2 To dercol For j = 3 To derlig ws.Cells(2, i).Value = ws.Cells(2, i).Value + ws.Cells(j, i).Value Next j Next i ws.Range(ws.Cells(2, 2), ws.Cells(2, dercol)).Font.Bold = True Set wk = Nothing Set ws = Nothing End Sub
;0)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
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 16/12/2013 à 18:32
Modifié par lermite222 le 16/12/2013 à 18:32
Bonjour,
comment faire?
=> En mettant un exemple de ton classeur sur Cjoint.com (sans donnée confidentielle) et mettre le lien dans un poste suivant.
L'idéal serait en feuil1 l'exemple de départ et en Feuil2 le résultat souhaité
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 ma boule de cristal est cassée .
comment faire?
=> En mettant un exemple de ton classeur sur Cjoint.com (sans donnée confidentielle) et mettre le lien dans un poste suivant.
L'idéal serait en feuil1 l'exemple de départ et en Feuil2 le résultat souhaité
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 ma boule de cristal est cassée .
17 déc. 2013 à 15:54
Merci Polux31!!!
17 déc. 2013 à 15:57
;0)
18 déc. 2013 à 17:50
Le code a fonctionné lorsque mon classeur ne contenait qu'une feuille.
En revanche, je ne suis pas parvenue à l'utiliser pour une feuille bien précise d'un classeur qui en contient d'autres.
Comment faire pour l'adapter?
Merci
18 déc. 2013 à 18:01
Set ws = wk.Worksheets(1)
Ou alors le nom
Set ws = wk.Worksheets("Toto") ou Set ws = wk.Worksheets("Feuil3") ...