Dans une zone quelquonque (disons E25:E50, et uniquement sur la
colonne E) se trouvent quelques valeurs
La zone n'est pas remplie en totalit=E9, il peut y avoir des vides.
Par Exemple
E25 =3D 125
E31 =3D 12
E36 =3D 45
E40 =3D 76
toutes les autres entre E25 et E50 =3D vides
Je voudrais pouvoir r=E9cup=E9rer dans des variables, les num=E9ros de
lignes contenant des valeurs en colonne E
pour noter en F51 la formule suivante =3DE25+E31+E36+E40
Y'a t'il moyen
Sachant que le nombre de valeur n'est pas fix=E9, et peu varier de 1 =E0
50...
J'ai essay=E9 avec un truc du style Pour toutes les celulles non vides
dans la zone, mais je me heurte aux variables.
Modeste ton idée n'est pas mauvaise (vu que je l'avait aussi effleurée) mais ne peût pas etre intégrée au tableau tel qu'il est réellement
Jacky : ta macro rencontre un problème
Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
En fait c'est la ligne x = Left(x, Len(x) - 1) qui ne plait pas à Excel.
ne manquerait il pas une déclaration de variable ? Si je met un dim x as integer en début de macro, ca marche, mais la cellule contient alors la formule suivante : =somme(0)
On 29 mai, 13:45, "Modeste" wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
pour voir réellement appaitres les antécédents pris en compte dans le total.
pourquoi ne pas utiliser la mise en forme conditionnellehttp://cjoint.com/?fDnSZflZfX
-- -- @+ ;o)))
Re...
http://cjoint.com/?fDoCkauhdA
--
Salutations
JJ
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
1feca474-4842-48d0-9d1c-469bc1d572e7@l42g2000hsc.googlegroups.com...
Modeste ton idée n'est pas mauvaise (vu que je l'avait aussi
effleurée) mais ne peût pas etre intégrée au tableau tel qu'il est
réellement
Jacky :
ta macro rencontre un problème
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0)
& ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
En fait c'est la ligne x = Left(x, Len(x) - 1)
qui ne plait pas à Excel.
ne manquerait il pas une déclaration de variable ?
Si je met un dim x as integer en début de macro, ca marche, mais la
cellule contient alors la formule suivante :
=somme(0)
On 29 mai, 13:45, "Modeste" <nom...@nomail.net> wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
pour voir réellement appaitres les antécédents pris en compte dans le
total.
pourquoi ne pas utiliser la mise en forme
conditionnellehttp://cjoint.com/?fDnSZflZfX
Modeste ton idée n'est pas mauvaise (vu que je l'avait aussi effleurée) mais ne peût pas etre intégrée au tableau tel qu'il est réellement
Jacky : ta macro rencontre un problème
Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
En fait c'est la ligne x = Left(x, Len(x) - 1) qui ne plait pas à Excel.
ne manquerait il pas une déclaration de variable ? Si je met un dim x as integer en début de macro, ca marche, mais la cellule contient alors la formule suivante : =somme(0)
On 29 mai, 13:45, "Modeste" wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
pour voir réellement appaitres les antécédents pris en compte dans le total.
pourquoi ne pas utiliser la mise en forme conditionnellehttp://cjoint.com/?fDnSZflZfX
-- -- @+ ;o)))
Fredo(67)
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Soit ta macro ci après
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
Soit DEBUT une variable où est stockée le numéro de ligne
correspondant au début de la zone à traiter
Soit FIN une variable où est stockée le numéro de ligne correspondant
à la fin de la zone à traiter
donc zone à traiter [eDEBUT:Efin]
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Jacky
Re... Essaie '---------- Sub jj() debut = "E25" fin = "E50" [F60].ClearContents For Each c In Range(debut & ":" & fin) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next If x <> "" Then x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End If End Sub '------
-- Salutations JJ
"Fredo(67)" a écrit dans le message de news:
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Re...
Essaie
'----------
Sub jj()
debut = "E25"
fin = "E50"
[F60].ClearContents
For Each c In Range(debut & ":" & fin)
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0)
& ","
Next
If x <> "" Then
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End If
End Sub
'------
--
Salutations
JJ
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
8be3bd03-5fda-4b32-a964-0c0629b4288f@s50g2000hsb.googlegroups.com...
Soit ta macro ci après
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
Soit DEBUT une variable où est stockée le numéro de ligne
correspondant au début de la zone à traiter
Soit FIN une variable où est stockée le numéro de ligne correspondant
à la fin de la zone à traiter
donc zone à traiter [eDEBUT:Efin]
Re... Essaie '---------- Sub jj() debut = "E25" fin = "E50" [F60].ClearContents For Each c In Range(debut & ":" & fin) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next If x <> "" Then x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End If End Sub '------
-- Salutations JJ
"Fredo(67)" a écrit dans le message de news:
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Modeste
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
Soit DEBUT une variable où est stockée le numéro de ligne
correspondant au début de la zone à traiter
Soit FIN une variable où est stockée le numéro de ligne correspondant
à la fin de la zone à traiter
donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj()
For Each c In Range(cells(DEBUT,5),cells(FIN,5))
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
[F60].showprecedents
End Sub
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))
Fredo(67)
Bon ben après de grandes Aides de ta part après quelques heures d'intégration
ma macro marche pafaitement
Merci à toi ( et à tous les autres aussi)
Bon ben après de grandes Aides de ta part
après quelques heures d'intégration
Bon ben après de grandes Aides de ta part après quelques heures d'intégration
ma macro marche pafaitement
Merci à toi ( et à tous les autres aussi)
Modeste
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
Soit DEBUT une variable où est stockée le numéro de ligne
correspondant au début de la zone à traiter
Soit FIN une variable où est stockée le numéro de ligne correspondant
à la fin de la zone à traiter
donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj()
For Each c In Range(cells(DEBUT,5),cells(FIN,5))
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
[F60].showprecedents
End Sub
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspondant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))
Fredo(67)
Merci à vous tous
c'est un réel plaisir de vous exposer nos problèmes parce qu'on sait qu'on sera aidé à trouver une solution
Cordialement
On 29 mai, 17:41, "Modeste" wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspond ant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1) .Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Merci à vous tous
c'est un réel plaisir de vous exposer nos problèmes parce qu'on sait
qu'on sera aidé à trouver une solution
Cordialement
On 29 mai, 17:41, "Modeste" <nom...@nomail.net> wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après
Sub jj()
For Each c In [e25:e50]
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(,
1).Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
End Sub
Soit DEBUT une variable où est stockée le numéro de ligne
correspondant au début de la zone à traiter
Soit FIN une variable où est stockée le numéro de ligne correspond ant
à la fin de la zone à traiter
donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj()
For Each c In Range(cells(DEBUT,5),cells(FIN,5))
If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1) .Address(0, 0) & ","
Next
x = Left(x, Len(x) - 1)
[F60].Formula = "=SUM(" & x & ")"
[F60].showprecedents
End Sub
--
--
@+
;o)))- Masquer le texte des messages précédents -
c'est un réel plaisir de vous exposer nos problèmes parce qu'on sait qu'on sera aidé à trouver une solution
Cordialement
On 29 mai, 17:41, "Modeste" wrote:
Bonsour® Fredo(67) avec ferveur ;o))) vous nous disiez :
Soit ta macro ci après Sub jj() For Each c In [e25:e50] If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1).Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" End Sub
Soit DEBUT une variable où est stockée le numéro de ligne correspondant au début de la zone à traiter Soit FIN une variable où est stockée le numéro de ligne correspond ant à la fin de la zone à traiter donc zone à traiter [eDEBUT:Efin]
comment modifier ta macro pour que ca marche
Sub jj() For Each c In Range(cells(DEBUT,5),cells(FIN,5)) If c <> "" And c.Offset(, 1) <> "" Then x = x + c.Offset(, 1) .Address(0, 0) & "," Next x = Left(x, Len(x) - 1) [F60].Formula = "=SUM(" & x & ")" [F60].showprecedents End Sub
-- -- @+ ;o)))- Masquer le texte des messages précédents -