OVH Cloud OVH Cloud

Somme tableau

20 réponses
Avatar
Andrea Parker
Bonjour

j'ai récupéré cette macro afin d'additionner un tableau
------------------------------------------------------------------
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1, 1)).Select
End With
Do While IsEmpty(ActiveCell) = False
ActiveCell.End(xlDown).Offset(1, 0).Value = "=sum(" &
ActiveCell.End(xlUp).Address & ":" & ActiveCell.End(xlDown).Address & ")"
ActiveCell.Offset(0, 1).Activate
Loop
-------------------------------------------------------------------

le problème qui se pose est que parfois la première cellule d'une
colonne peut être vide
et là, la macro s'arrête et la somme ne se fait pas

comment forcer le calcul dans ce cas

merci d'avance

10 réponses

1 2
Avatar
Daniel.M
Bonjour,

cela semble fonctionner mais on peut surement faire plus simple


D'où l'idée de te demander ce que tu voulais faire, précisément.
Malheureusement, j'ai pas compris ta réponse.

exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00


C'est quoi ça? Ton input? Où est l'output désiré? Tu veux une somme colonne par
colonne, ligne par ligne, en fonction de la date?

Tu maximises tes chances des réponses (de tous) si tu donnes ton input et tes
résultats attendus. Malgré les vaillants présents sur ce forum, il y a beaucoup
de paresseux (comme moi) qui aiment mieux résoudre des petits problèmes que
d'essayer de comprendre le code d'autrui: c'est la nature humaine.

Ceci étant dit, y'a pas d'obligation d'agréer à ma demande (surtout si tu
trouves ton bonheur).

Salutations,

Daniel M.

Avatar
Andrea Parker
l'essentiel c'est d'avoir une réponse

bien que j'ai modifié en amont afin d'obtenir des zéros
car le problème se posait encore lorsque qu'il manque une valeur
dans une cellule de la dernière ligne du tableau

donc pour l'instant je vais me coucher car il est minuit et après un bon
somme je re-testerais car la nuit porte conseil

merci à tous


Daniel.M a écrit:
Bonjour,


cela semble fonctionner mais on peut surement faire plus simple



D'où l'idée de te demander ce que tu voulais faire, précisément.
Malheureusement, j'ai pas compris ta réponse.


exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00



C'est quoi ça? Ton input? Où est l'output désiré? Tu veux une somme colonne par
colonne, ligne par ligne, en fonction de la date?

Tu maximises tes chances des réponses (de tous) si tu donnes ton input et tes
résultats attendus. Malgré les vaillants présents sur ce forum, il y a beaucoup
de paresseux (comme moi) qui aiment mieux résoudre des petits problèmes que
d'essayer de comprendre le code d'autrui: c'est la nature humaine.

Ceci étant dit, y'a pas d'obligation d'agréer à ma demande (surtout si tu
trouves ton bonheur).

Salutations,

Daniel M.





Avatar
LeSteph
'Pourquoi zero à la fin, le but est de combler les vides dans la matrice de
la boucle?
'Si toute la colonne est vide qu'additioner?
'J'ai testé sur du rempli, en laissant des trous
'Ajouter audébut:

ActiveWindow.DisplayZeros = False
Selection.CurrentRegion
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "0"
'......
'avant le:
...........
With Selection.CurrentRegion

'.....

LeSteph

"Andrea Parker" a écrit dans le message de
news:
mais
si j'ajoute zéro,
à la fin de mon tableau il ajoute un zéro à la colonne suivante et
comme toute la colonne est vide cela plante

il faut donc une autre solution

LeSteph a écrit:
Bonsoir,

Je n'ai pas testé mais d'emblée
Do While IsEmpty(ActiveCell) = False
implique que l'action s'execute tant qu'il n'y a pas de cellules vides
Si la macro convient , mettre des 0 dans les cellules vides peut règler
le


pb.
Pour ne pas les voir: Outils option affichage valeurs 0 décoché.

Amicalement

LeSteph


"Andrea Parker" a écrit dans le message de
news:

Bonjour

j'ai récupéré cette macro afin d'additionner un tableau
------------------------------------------------------------------
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1, 1)).Select
End With
Do While IsEmpty(ActiveCell) = False
ActiveCell.End(xlDown).Offset(1, 0).Value = "=sum(" &
ActiveCell.End(xlUp).Address & ":" & ActiveCell.End(xlDown).Address &
")"



ActiveCell.Offset(0, 1).Activate
Loop
-------------------------------------------------------------------

le problème qui se pose est que parfois la première cellule d'une
colonne peut être vide
et là, la macro s'arrête et la somme ne se fait pas

comment forcer le calcul dans ce cas

merci d'avance












Avatar
Gloops
Bonjour,

Tu ne donnes pas beaucoup d'éléments qui permettent de savoir où on est
susceptible d'avoir des cellules vides.

Il y en a sur la première ligne, est-ce qu'il ne peut pas y en avoir sur
la dernière ? Entre les deux ?

Admettons que chaque colonne ait un titre.

Je progresse par le bas pour placer plus facilement les totaux.

Le numéro de la ligne des titres est obtenu par Selection.CurrentRegion.Row

Le numéro de la ligne des totaux s'obtient par ActiveCell.Row + 1, la
cellule du total sera atteinte par ActiveCell.Offset(1, 0)

Pendant que j'y suis je mets une bordure pour séparer les totaux.
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Sub Ttl()
With Selection.CurrentRegion
Intersect(.Cells, .Offset(1, 1)).Select
End With
'jusque là pas de changement
'par rapport à la prop. précédente

'sélection de la cellule du bas
Cells(Selection.Row + Selection.Rows.Count - 1, _
Selection.Column).Activate

Do While IsEmpty(Cells(Selection.CurrentRegion.Row, _
ActiveCell.Column)) = False

With ActiveCell

'dans la cellule en dessous,
'somme du haut de la sélection sauf titre
'à la cellule courante (cellule "with")
.Offset(1, 0).Value = _
"=sum(" & Cells( _
Selection.CurrentRegion.Row + 1, _
ActiveCell.Column).Address & ":" & _
.Address & ")"

'bordure
.Borders(xlBottom).Weight = xlThin

'activation de la cellule à droite
.Offset(0, 1).Activate
End With
Loop
End Sub
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = =




Andrea Parker a écrit, le 24/05/2004 23:03 :

J'ai une macro qui prend certaines données de la feuille 1 et qui les
recopie dans la feuille 2

je souhaite totaliser les colonnes obtenues dans la feuille 2
exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00


========================================== >


Avatar
Gloops
Salut,

Tu sélectionnes la ligne en-dessous des nombres qui apparaissent
ci-dessous, et tu cliques sur le bouton qui représente un sigma.

ça dans chaque colonne.

Voilà ce qu'Andréa voulait faire.

Il a appelé ça somme tableau.

On a franchement vu plus inadapté comme titre, dans le forum.
_______________________________________
Daniel.M a écrit, le 24/05/2004 23:43 :

Bonjour,


cela semble fonctionner mais on peut surement faire plus simple



D'où l'idée de te demander ce que tu voulais faire, précisément.
Malheureusement, j'ai pas compris ta réponse.


exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00






Avatar
Andrea Parker
Glopp Glopp !

c'est bien un tableau non ?

et c'est bien des sommes que je souhaite
sous mon tableau oui d'accord
enfin j'ai pourtant pensé être assez clair
excuses si je me suis mal expliquée

merci



Gloops a écrit:
Salut,

Tu sélectionnes la ligne en-dessous des nombres qui apparaissent
ci-dessous, et tu cliques sur le bouton qui représente un sigma.

ça dans chaque colonne.

Voilà ce qu'Andréa voulait faire.

Il a appelé ça somme tableau.

On a franchement vu plus inadapté comme titre, dans le forum.
_______________________________________
Daniel.M a écrit, le 24/05/2004 23:43 :

Bonjour,


cela semble fonctionner mais on peut surement faire plus simple




D'où l'idée de te demander ce que tu voulais faire, précisément.
Malheureusement, j'ai pas compris ta réponse.


exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00










Avatar
LeSteph
'''Je rejoins cette pensée

"Gloops" a écrit dans le message de
news:c8u0jp$amq$
Salut,

Tu sélectionnes la ligne en-dessous des nombres
......et tu cliques sur le bouton qui représente un sigma.


ça dans chaque colonne.
'''Ou même sur toutes

Il a appelé ça somme tableau.




'''LeSteph

Avatar
Gloops
Ah, apparemment ça n'est pas ça ?

Honnêtement, ça n'est pas là que j'attendais une réponse, mais à mon
message de 1h21.
____________________________________________
Andrea Parker a écrit, le 25/05/2004 07:44 :
Glopp Glopp !

c'est bien un tableau non ?

et c'est bien des sommes que je souhaite
sous mon tableau oui d'accord
enfin j'ai pourtant pensé être assez clair
excuses si je me suis mal expliquée

merci



Gloops a écrit:

Salut,

Tu sélectionnes la ligne en-dessous des nombres qui apparaissent
ci-dessous, et tu cliques sur le bouton qui représente un sigma.

ça dans chaque colonne.

Voilà ce qu'Andréa voulait faire.

Il a appelé ça somme tableau.

On a franchement vu plus inadapté comme titre, dans le forum.
_______________________________________
Daniel.M a écrit, le 24/05/2004 23:43 :

Bonjour,


cela semble fonctionner mais on peut surement faire plus simple





D'où l'idée de te demander ce que tu voulais faire, précisément.
Malheureusement, j'ai pas compris ta réponse.


exemple


Date Espèces Carte Divers
24/05/04 888,88
24/05/04 1 777,76 20,00 10,00
24/05/04 1 210,89 50,00 20,00














Avatar
Gloops
Bon alors ça, c'est l'énoncé du problème, étant convenu que ça doit être
déclenché par macro.

Ma réponse a été postée à 1h21 en réponse au message d'Andréa de 23h03.

Elle a l'air d'être passée à l'as, bon, tant pis.
Un peu fatigant pour ce résultat, mais enfin bon ça arrive ...
______________________________________
LeSteph a écrit, le 25/05/2004 08:50 :

'''Je rejoins cette pensée

"Gloops" a écrit dans le message de
news:c8u0jp$amq$

Salut,

Tu sélectionnes la ligne en-dessous des nombres


......et tu cliques sur le bouton qui représente un sigma.

ça dans chaque colonne.


'''Ou même sur toutes
Toutes non j'ai essayé, en tout cas sous Excel 95, ça donne une erreur.

Mais peut-être que j'ai oublié quelque chose, parce qu'effectivement ça
serait logique que ça marche.


Il a appelé ça somme tableau.





'''LeSteph





Avatar
Andrea Parker
mais non, mais non,

rien ne passe à l'as

je garde sous le coude le temps de cogiter

merci
================
Gloops a écrit:
Bon alors ça, c'est l'énoncé du problème, étant convenu que ça doit être
déclenché par macro.

Ma réponse a été postée à 1h21 en réponse au message d'Andréa de 23h03.

Elle a l'air d'être passée à l'as, bon, tant pis.
Un peu fatigant pour ce résultat, mais enfin bon ça arrive ...
______________________________________
LeSteph a écrit, le 25/05/2004 08:50 :

'''Je rejoins cette pensée

"Gloops" a écrit dans le message de
news:c8u0jp$amq$

Salut,

Tu sélectionnes la ligne en-dessous des nombres



......et tu cliques sur le bouton qui représente un sigma.

ça dans chaque colonne.



'''Ou même sur toutes


Toutes non j'ai essayé, en tout cas sous Excel 95, ça donne une erreur.
Mais peut-être que j'ai oublié quelque chose, parce qu'effectivement ça
serait logique que ça marche.


Il a appelé ça somme tableau.






'''LeSteph








1 2