VBA Excel: Ajouter le total en dernière colonne
Résolu/Fermé
A voir également:
- Vba ajouter une colonne à la fin d'un tableau
- Tableau croisé dynamique - Guide
- Déplacer une colonne excel - Guide
- Tableau ascii - Guide
- Ajouter un compte gmail - Guide
- Ajouter un profil netflix payant - Guide
1 réponse
melanie1324
Messages postés
1505
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
16 déc. 2013 à 09:45
16 déc. 2013 à 09:45
Bonjour,
sub total Range("A1").End(xltoRight).Offset(1, 0).Select 'trouve la dernière colonne du tableau Activecell.value = "Total" 'Ajoute le total dercol = activecell.column 'permet de récupérer le numéro de ladernière colonne derligne = cells(65347,1).End(xlUp).Row 'trouve la dernière ligne du tableau cells(2,dercol).select 'on sélectionnes la 2ème ligne de la dernière colonne ActiveCell.FormulaR1C1 = "=SUM(R2C4:RC[-1])" 'on fait une somme de D2 à l'avant dernière colonne cells.copy 'on copie range(cells(2,dercol),cells(derligne,dercol).select 'on sélectionne jusqu'à la fin du tableau Activesheet.paste 'on colle la formule end sub
16 déc. 2013 à 10:07
Merci pour le code, mais il génère des erreurs: j'ai ajouté une parenthèse en ligne 14 avant .select.
Puis on m'indique une "erreur '1004': Impossible de coller les informations car les zones copier et de collage sont de forme et de taille différentes (...)" Concrètement, lorsque je me mets sur la feuille concernée, rien n'a été ajouté et elle apparaît entièrement sélectionnée.
Merci pour votre aide!
16 déc. 2013 à 11:12
J'ai testé et ce code devrait mieux aller :
Sub total()
Range("A1").End(xlToRight).Offset(0, 1).Select 'trouve la dernière colonne du tableau
ActiveCell.Value = "Total" 'Ajoute le total
dercol = ActiveCell.Column 'permet de récupérer le numéro de ladernière colonne
derligne = Cells(65347, 1).End(xlUp).Row 'trouve la dernière ligne du tableau
Cells(2, dercol).Select 'on sélectionnes la 2ème ligne de la dernière colonne
ActiveCell.FormulaR1C1 = "=SUM(R2C4:RC[-1])" 'on fait une somme de D2 à l'avant dernière colonne
ActiveCell.Copy 'on copie
Range(Cells(2, dercol), Cells(derligne, dercol)).Select 'on sélectionne jusqu'à la fin du tableau
ActiveSheet.Paste 'on colle la formule
End Sub
16 déc. 2013 à 11:42
16 déc. 2013 à 11:47
17 déc. 2013 à 15:49
Saurais-tu, par hasard, comment adapter le code pour que la somme apparaisse non plus en colonne mais en ligne à partir de B2? Concrètement: en B2 obtenir la somme de B3 à la dernière ligne de la colonne B du tableau, et appliquer la formule aux autres colonnes du tableau (en C2 avoir la somme de la colonne C et ainsi de suite) sachant que le nombre de lignes et de colonnes peut varier d'un classeur à l'autre.
Je t'en remercie par avance!