Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA somme lignes et colonnes tableau taille variable

15 réponses
Avatar
Christophe Joly
Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la somme
des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais avoir
en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe

10 réponses

1 2
Avatar
isabelle
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la somme
des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais avoir
en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe


Avatar
Christophe Joly
Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est presque la
bonne.Je dis presque car malheureusement quand je lance ta macro depuis ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir
le


faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent
que


des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe




Avatar
isabelle
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est presque la
bonne.Je dis presque car malheureusement quand je lance ta macro depuis ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir
le


faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent
que


des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe






Avatar
Christophe Joly
Isabelle:

Tu as (comme d'habitude) raison. La derniere cellule est en DV108 et par
consequent je n'avais pas vu tes formules. Ceci dit mon tableau est le
resultat d'un copier coller d'un tableau souvent plus grand que les
informations qu'il contient ce qui explique pourquoi DV108 est la derniere
cellule mais dans l'example que j'ai utilisé pour tester la macro mes
etiquettes de lignes sont en A3:A13 et mes etiquettes decolonnes sont en
B2:02 donc la derniere cellule devrait etre 013.

Comment faire pour que 013 (variable) soit reconnu comme la derniere cellule
et que tes formules soit par consequent en ligne 14 et non pas 109 et en
colonne P et non pas DV.

Merci.

Christophe


"isabelle" a écrit dans le message de
news:
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est
presque la


bonne.Je dis presque car malheureusement quand je lance ta macro depuis
ma


feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un
tableau




dont le nombre de lignes et colonnes est variable. J'aimerais
pouvoir




le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne
contiennent




que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe








Avatar
isabelle
re bonjour,

s'il n'y a pas de vide sur la ligne et la colonne des étiquettes, tu
pourrais modifier les variables L et C comme ça :
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
a+
isabelle


Isabelle:

Tu as (comme d'habitude) raison. La derniere cellule est en DV108 et par
consequent je n'avais pas vu tes formules. Ceci dit mon tableau est le
resultat d'un copier coller d'un tableau souvent plus grand que les
informations qu'il contient ce qui explique pourquoi DV108 est la derniere
cellule mais dans l'example que j'ai utilisé pour tester la macro mes
etiquettes de lignes sont en A3:A13 et mes etiquettes decolonnes sont en
B2:02 donc la derniere cellule devrait etre 013.

Comment faire pour que 013 (variable) soit reconnu comme la derniere cellule
et que tes formules soit par consequent en ligne 14 et non pas 109 et en
colonne P et non pas DV.

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est
presque la


bonne.Je dis presque car malheureusement quand je lance ta macro depuis
ma


feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un
tableau




dont le nombre de lignes et colonnes est variable. J'aimerais
pouvoir




le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne
contiennent




que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe










Avatar
Christophe Joly
Isabelle:

Désolé de d'importuner une fois de plus mais j'obtiens une erreur
d'execution 13 "Incompatibilité de Type" sur la ligne For i = 1 to C

La macro est la suivante:

Sub Isabelle()
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next
End Sub

As-tu une idée, moi pas (sniff).

Merci.

Christophe


"isabelle" a écrit dans le message de
news:
re bonjour,

s'il n'y a pas de vide sur la ligne et la colonne des étiquettes, tu
pourrais modifier les variables L et C comme ça :
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
a+
isabelle


Isabelle:

Tu as (comme d'habitude) raison. La derniere cellule est en DV108 et par
consequent je n'avais pas vu tes formules. Ceci dit mon tableau est le
resultat d'un copier coller d'un tableau souvent plus grand que les
informations qu'il contient ce qui explique pourquoi DV108 est la
derniere


cellule mais dans l'example que j'ai utilisé pour tester la macro mes
etiquettes de lignes sont en A3:A13 et mes etiquettes decolonnes sont en
B2:02 donc la derniere cellule devrait etre 013.

Comment faire pour que 013 (variable) soit reconnu comme la derniere
cellule


et que tes formules soit par consequent en ligne 14 et non pas 109 et en
colonne P et non pas DV.

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est
presque la


bonne.Je dis presque car malheureusement quand je lance ta macro
depuis




ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait
faire





l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire
apparaitre la






somme
des valeurs numériques de chaque ligne et de chaque colonne d'un
tableau




dont le nombre de lignes et colonnes est variable. J'aimerais
pouvoir




le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne
contiennent




que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je
devrais






avoir
en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe












Avatar
michdenis
Bonjour Christophe,

" C = Cells.SpecialCells(xlCellTypeLastCell).Column "

Je ne sais pas ce que tu veux faire, mais la variable "C" comme tu ne l'as pas déclaré , elle est du type "Variant".

Dans ton procédure, C devient un tableau (array) représentant ta plage de cellules.

Pour pouvoir utilisé C dans une boucle,

For i = 1 To Ubound(C,1) ' Lignes de ton tableau

OU

For i= 1 to Ubound(C,2) 'colonnes de ton tableau



Salutations!



"Christophe Joly" a écrit dans le message de news:
Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est presque la
bonne.Je dis presque car malheureusement quand je lance ta macro depuis ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir
le


faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent
que


des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe




Avatar
isabelle
oup's désolé Christophe

voici la correction,

Sub Isabelle()
x = Range("IV3").End(xlToLeft).Column
L = Range("A65536").End(xlUp).Row
C = Range("IV3").End(xlToLeft).Column
For i = 2 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 4 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next
End Sub


isabelle


Isabelle:

Désolé de d'importuner une fois de plus mais j'obtiens une erreur
d'execution 13 "Incompatibilité de Type" sur la ligne For i = 1 to C

La macro est la suivante:

Sub Isabelle()
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next
End Sub

As-tu une idée, moi pas (sniff).

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
re bonjour,

s'il n'y a pas de vide sur la ligne et la colonne des étiquettes, tu
pourrais modifier les variables L et C comme ça :
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
a+
isabelle


Isabelle:

Tu as (comme d'habitude) raison. La derniere cellule est en DV108 et par
consequent je n'avais pas vu tes formules. Ceci dit mon tableau est le
resultat d'un copier coller d'un tableau souvent plus grand que les
informations qu'il contient ce qui explique pourquoi DV108 est la
derniere


cellule mais dans l'example que j'ai utilisé pour tester la macro mes
etiquettes de lignes sont en A3:A13 et mes etiquettes decolonnes sont en
B2:02 donc la derniere cellule devrait etre 013.

Comment faire pour que 013 (variable) soit reconnu comme la derniere
cellule


et que tes formules soit par consequent en ligne 14 et non pas 109 et en
colonne P et non pas DV.

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est
presque la


bonne.Je dis presque car malheureusement quand je lance ta macro
depuis




ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait
faire





l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire
apparaitre la






somme
des valeurs numériques de chaque ligne et de chaque colonne d'un
tableau




dont le nombre de lignes et colonnes est variable. J'aimerais
pouvoir




le
faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne
contiennent




que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je
devrais






avoir
en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe














Avatar
isabelle
c'est ma faute Denis, j'ai induis Christophe en erreur,
isabelle


Bonjour Christophe,

" C = Cells.SpecialCells(xlCellTypeLastCell).Column "

Je ne sais pas ce que tu veux faire, mais la variable "C" comme tu ne l'as pas déclaré , elle est du type "Variant".

Dans ton procédure, C devient un tableau (array) représentant ta plage de cellules.

Pour pouvoir utilisé C dans une boucle,

For i = 1 To Ubound(C,1) ' Lignes de ton tableau

OU

For i= 1 to Ubound(C,2) 'colonnes de ton tableau

Salutations!

"Christophe Joly" a écrit dans le message de news:
Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution est presque la
bonne.Je dis presque car malheureusement quand je lance ta macro depuis ma
feuille, qui je te le confirme ne contient qu'un seul tableau, il se
passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message de
news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes devrait faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire apparaitre la
somme


des valeurs numériques de chaque ligne et de chaque colonne d'un tableau
dont le nombre de lignes et colonnes est variable. J'aimerais pouvoir
le


faire sans avoir à indiquer le nombre de lignes et de colonnes.

La cellule la plus en haut à gauche est en A3.les cllules ne contiennent
que


des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je devrais
avoir


en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe






Avatar
Christophe Joly
Isabelle:

Merci. C'est presque ca mais il y a encore un probleme. Je vais essayer de
comprendre tout seul en etudiant ton code et si je n'y arrive pas (ce qui
sera vraiment le cas (sniff sniff) je te recontacterai.

Une nouvelle fois merci. A+

Christophe
"isabelle" a écrit dans le message de
news:
oup's désolé Christophe

voici la correction,

Sub Isabelle()
x = Range("IV3").End(xlToLeft).Column
L = Range("A65536").End(xlUp).Row
C = Range("IV3").End(xlToLeft).Column
For i = 2 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 4 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next
End Sub


isabelle


Isabelle:

Désolé de d'importuner une fois de plus mais j'obtiens une erreur
d'execution 13 "Incompatibilité de Type" sur la ligne For i = 1 to C

La macro est la suivante:

Sub Isabelle()
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next
End Sub

As-tu une idée, moi pas (sniff).

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
re bonjour,

s'il n'y a pas de vide sur la ligne et la colonne des étiquettes, tu
pourrais modifier les variables L et C comme ça :
L = Range("A3:A" & Range("A65536").End(xlUp).Row)
C = Range("A3:IV" & Range("IV1").End(xlToLeft).Column)
a+
isabelle


Isabelle:

Tu as (comme d'habitude) raison. La derniere cellule est en DV108 et
par




consequent je n'avais pas vu tes formules. Ceci dit mon tableau est
le




resultat d'un copier coller d'un tableau souvent plus grand que les
informations qu'il contient ce qui explique pourquoi DV108 est la
derniere


cellule mais dans l'example que j'ai utilisé pour tester la macro
mes




etiquettes de lignes sont en A3:A13 et mes etiquettes decolonnes
sont en




B2:02 donc la derniere cellule devrait etre 013.

Comment faire pour que 013 (variable) soit reconnu comme la derniere
cellule


et que tes formules soit par consequent en ligne 14 et non pas 109
et en




colonne P et non pas DV.

Merci.

Christophe

"isabelle" a écrit dans le message de
news:
bonjour Christophe,

sélectionne au menu, Edition, Atteindre, bouton Cellules, cocher
Dernière cellule, OK
cette cellule fait telle parti de ton tableau ?

isabelle


Merci Isabelle:

Meme si je ne comprends pas tout je suis sure que ta solution
est






presque la
bonne.Je dis presque car malheureusement quand je lance ta macro
depuis




ma
feuille, qui je te le confirme ne contient qu'un seul tableau,
il se






passe........rien :-( ???

Christophe
"isabelle" a écrit dans le message
de






news:
bonjour Christophe,

s'il n'y a que ce tableau sur cette feuille, ces lignes
devrait







faire
l'affaire.

L = Cells.SpecialCells(xlCellTypeLastCell).Row
C = Cells.SpecialCells(xlCellTypeLastCell).Column
For i = 1 To C
Cells(L + 1, i).Formula = "=sum(" & Cells(3, i).Address & _
":" & Cells(L, i).Address & ")"
Next
For i = 3 To L
Cells(i, C + 1).Formula = "=sum(" & Cells(i, 1).Address & _
":" & Cells(i, C).Address & ")"
Next

isabelle


Bonsoir à tous:

Je cherche à ecrire une vba qui me permettrai de faire
apparaitre la






somme
des valeurs numériques de chaque ligne et de chaque colonne
d'un








tableau
dont le nombre de lignes et colonnes est variable.
J'aimerais








pouvoir
le
faire sans avoir à indiquer le nombre de lignes et de
colonnes.









La cellule la plus en haut à gauche est en A3.les cllules ne
contiennent




que
des 1 ou sont vides.

Par exemple si j'ai un tableau de 3 lignes et 2 colonnes, je
devrais






avoir
en B6 = SUM(B3:B5)
en C6 = SUM(C3:C5)
en D3 = SUM(B3:C3)
en D4 = SUM(B4:C4)
en D5 = SUM (B5:C5)
en D6 = SUM (B6:C6) ou = SUM (D3:D5)

Merci.

Christophe
















1 2