XL 2013 Faire somme en bout de ligne / Colonnes dynamique

OOLIVE

XLDnaute Occasionnel
Bonjour,

Je viens solliciter votre aide afin de m'aider à résoudre un besoin.

Chaque semaine, je reçois un fichier dans lequel j'ai un nombre indéterminé de lignes & de colonnes.

Je réussis à trouver mon nombre de lignes & de colonnes avec les variables
derlig : .end(xldown)
dercol : .end(xlright)

Pourriez-vous m'indiquer comment faire pour que:

Pour chaque ligne entre 2 à derlig
dans la cellule dercol
Somme (colonne2; colonnedercol.offset(,-1)?


Merci beaucoup.

OOLIVE
 

Staple1600

XLDnaute Barbatruc
Re

OOLIVE
Rien d'étrange ou de non familier dans mon code
C'est juste la transposition en VBA de cette formule Excel
=SOMME.SI(1:1;">0")-SOMME.SI(1:1;"<0")
Et dans le code, Lig correspond ici à 1:1 dans la formule.

@Calvus
J'ai moins de cheveux qu'au soir du 18 mars 1992.
Ils avaient néanmoins repoussés, en cette fin d’après-midi du 23 avril 1999.
;)
 
Dernière édition:

OOLIVE

XLDnaute Occasionnel
Hello Staple1600, le forum

Je reviens sur le sujet pour un suivi final.. Je pensais pas que mon "projet" t'intéresserait.


J'ai avancé de mon côté concernant les besoins de traitement. J'ai glissé un fichier de l'avancé.
Je pense que le code est beaucoup trop fastidieux pour excel puisqu'il m'indique :
upload_2018-2-9_10-24-7.png



Il me manque une dernière formule à indiquer.
J'aimerais pouvoir faire le rapport suivant :
Cells(x + 1, y + 2) = Application.WorksheetFunction.Sum(Range(Cells(3, y), Cells(x + 1, y)))
'/ WsSource.Application.WorksheetFunction.Sum(Range(Cells(2, dercol + 1), Cells(x - 1, dercol + 1)))

Si jamais tu as des remarques et/ou conseils, ils seront la bienvenue ! :)


PS : Je sais que mon code est pas le meilleur, j'ai fais du mieux que je pouvais ;)

Bonne journée.

OOLIVE
 

Pièces jointes

  • 111.xlsm
    22.8 KB · Affichages: 26

OOLIVE

XLDnaute Occasionnel
Indigeste pour Excel.. dans le sens, il n'est pas le mieux structuré!
Mais j'ai trouvé mon problème concernant l'erreur d'exécution.. Il prenait une ligne de trop (ce qui revient à faire ce que tu m'as indiqué )

J'ai modifié le code pour le compteur en bout de ligne en prenant la solution de staple1600 (le traitement est beaucoup moins long)
Cells(i, dercol + 1) = Application.SumIf(Rows(i), ">0") - Application.SumIf(Rows(i), "<0") - Abs(Cells(i, dercol).Value)

Reste plus qu'à calculer une colonne & c'est réglé :)

Je perds pas espoir
 

Discussions similaires

Statistiques des forums

Discussions
312 090
Messages
2 085 210
Membres
102 820
dernier inscrit
SIEG68