macro pour compter pas évidente

J

JJ

Guest
Bonsoir,
Il y a un bout de temps Charly m'avait fait passer une macro mais je ne la retrouve pas sur le forum et un virus....!

je voudrais compter des cellules:
par ex pour expliquer simplement: 4 col A B C D
et 5 lignes 1 2 3 4 5
(les résultats se feront en col A et D et les données en B et C

B1=1, B2=3, B3=5, C1=4 et C2= 2 et C3=6

le principe serait que la macro me restitue le total en diagonale de chaque côté donc:

A2=1, D2=4, A3=7 , D3=3, A4=7 et D4=9 et ainsi de suite jusqu' a la fin du tableau en sachant que j'ai 39 col et 120 lignes
Avez vous une idée de VBA ou Charly si tu me lis , peux tu m'envoyer ta macro si tu l'as gardée?
BON WE et merci
JJ
 

Jacou

XLDnaute Impliqué
Bonsoir JJ et tout le forum

Est-ce que la macro'comptage' dans le fichier joint te conviendrait? [file name=comptage_20060224233920.zip size=5847]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/comptage_20060224233920.zip[/file]
 
Dernière édition:

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir JJ, bonsoir Jacou, bonsoir à toutes et à tous :)

J'ai vérifié et j'ai bien conservé le fichier que je t'avais proposé. Je te le joins tel quel bien que si j'avais à l'écrire aujourd'hui, je ne coderais pas de la même manière...

[file name=JJ_ComptageMacro_20060225001728.zip size=36730]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/JJ_ComptageMacro_20060225001728.zip[/file]

A+ ;)
 

Pièces jointes

  • JJ_ComptageMacro_20060225001728.zip
    35.9 KB · Affichages: 13
J

JJ

Guest
Bonjour Le Forum,
Bonjour Jacou et Charly
Merci à vous 2
je vais aussi tester la macro de Jacou.
Je me souviens Charly que ta macro fonctionnait tres bien (je m'en suis bien servi!) mais qu'elle avait un petit défaut, en bas de calcul, elle s'arretait à la dernière ligne des données or , si on compte en diagonale, le résultat de la diagonale 'descend' forcément plus bas que la dernière ligne des données.
Petite question: si au lieu d'ajouter, on veut multiplier en diagonale, quelle ligne(s) faut il modifier?
merci encore et Bon WE
JJ
 

Jacou

XLDnaute Impliqué
Re,
voilà une version 2 qui ne s'arrête pas à la dernière ligne de données.

si tu veux multiplier, tu remplaces la ligne
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(i - ligcell, j).Value
par
ActiveCell.Value = ActiveCell.Value * ActiveCell.Offset(i - ligcell, j).Value

et
ActiveCell.Value = ActiveCell.Value + ActiveCell.Offset(i - ligcell, j - 1 - nbcol).Value
par
ActiveCell.Value = ActiveCell.Value * ActiveCell.Offset(i - ligcell, j - 1 - nbcol).Value [file name=comptagev2.zip size=8260]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/comptagev2.zip[/file]

Message édité par: jacou, à: 25/02/2006 11:55
 
Dernière édition:

Jacou

XLDnaute Impliqué
Re-Re :)
la différence entre ma macro et celle de Charlie est je crois que celle de Charlie est destinée à un tableau de 465 lignes et 51 colonnes.
si le nombre de lignes ou de colonnes changent il faut adapter la macro (très simplement).
La mienne détermine (a priori et sauf erreur de programmation :( ) le nombre de colonnes et de lignes de la zone de données

Message édité par: jacou, à: 25/02/2006 12:09

Message édité par: jacou, à: 25/02/2006 12:10
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour JJ et Jacou, bonjour à toutes et à tous :)

Je t'envoie un code possible à base de tableaux, le seul impératif est de nommer ta plage de données ; je l'ai nommée 'Tableau' dans l'exemple ;)

Jacou, l'exemple de 465 lignes et 50 colonnes était dû, lorsque je l'ai fait, à la taille réelle du tableau de JJ.

[file name=JJ_ComptageMacroV2.zip size=39967]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/JJ_ComptageMacroV2.zip[/file]

A+ :)
 

Pièces jointes

  • JJ_ComptageMacroV2.zip
    39 KB · Affichages: 18

Statistiques des forums

Discussions
312 506
Messages
2 089 127
Membres
104 041
dernier inscrit
jcourtei