"incrémenter" une formule vers la droite

Résolu/Fermé
ecga Messages postés 54 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 20 février 2017 - 18 janv. 2016 à 12:03
ecga Messages postés 54 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 20 février 2017 - 20 janv. 2016 à 15:42
Bonjour à tous,
Je travail actuellement sur un tableau excel dans lequel j'ai besoin de faire les totaux des colonnes.
Or mon tableau à un nombre de lignes variables (nom de lignes modifié par une simple macro qui copie colle les valeurs d'une autre feuille) et un nombre de colonnes qui varie également
l'option ligne de totaux des tableaux excel ne convient pas car par défaut elle ne s'applique automatiquement qu'a la dernière colonne du tableau et que de plus il faut choisir la fonction que l'on veut (somme, moy,...)

J'ai un début de solution avec une macro qui affiche "total" dans la première ligne de la colonne A vide et qui calcul automatiquement la somme de la colonne B dans la première cellule de la colonne B vide.
Seulement je n'arrive pas à lui faire "incrémenter" la formule automatiquement sous le reste du tableau (qui je le rappel à un nombre de colonne variable)

D’où ma question:
Avez vous une idée pour résoudre se problème?

Merci d'avance,

Marion
A voir également:

2 réponses

ecga Messages postés 54 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 20 février 2017 6
20 janv. 2016 à 15:42
Bonjour,
Merci beaucoup.
Je n'avais tous simplement pas pensé à cette solution
4
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
Modifié par gbinforme le 18/01/2016 à 23:10
Bonjour,

l'option ligne de totaux des tableaux excel ne convient pas

Pourtant elle me semble faite pour cela :
tu mets la fonction sur la première colonne et tu copies vers la droite
ws.ListObjects("Tableau1").ListColumns("Colonne1") _
        .TotalsCalculation = xlTotalsCalculationCount
    ws.Range("Tableau1[[#Totals],[Colonne1]]").AutoFill Destination:=ws.Range( _
        "Tableau1[[#Totals],[Colonne1]:[Colonne22]]"), Type:=xlFillDefault

en mettant les noms de rubriques et tableaux concernés ;-)
 Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.  Antoine de Saint-Exupéry
0