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

Cumul dans une cellule (2 ) rajout d'une info oubliée!!!

4 réponses
Avatar
gege
Bonjour,
J'ai un petit probl=E8me =E0 soumettre et avant de faire cela=20
j'ai test=E9 les diff=E9rentes solutions propos=E9es dans ce=20
forum (par Google!) mais cela reste flou encore pour moi.

J'aimerai faire un cumul de sortie de stock sur un tableau=20
de 1000 articles.
Donc j'aimerai le faire en formule ou en vba

J'ai donc essay=E9 :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] =3D [A2] + [A1]
End If
End Sub

cette solution ne fonctionne pas si la cellule A1 est mise=20
=E0 jour par une formule. Le worksheet_change n'est pas=20
appel=E9 ... c'est justement mon cas !!!!

Laurent Longre propose la solution en 1998 !!!

| Une solution ind=E9pendante de la version d'Excel utilis=E9e=20
consisterait =E0
| passer par une fonction macro XLM. Contrairement =E0 VBA,=20
les fonctions
| XLM peuvent en effet r=E9cup=E9rer le contenu de la cellule=20
appelante:
|=20
| =3DARGUMENT("Cellule_cumul";1)
| =3DRETOUR(CELLULE.APPELANTE()+Cellule_cumul)

??? kesalo les macros XLM? comment les utilis=E9es ??

Et la solution par it=E9rations ne semble pas convenir!!!
Au secours !!!

Merci d'avance.

j'utilise Xl2000

4 réponses

Avatar
Philippe.R
Bonjour Gérard,
Peut être peux tu essayer d'utiliser le même code :
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
avec l'évènement calculate de la feuille au lieu de change ?
une macro xlm est une macro Excel 4, que tu peux insérer dans ton classeur par clic droit sur un onglet
+ insertion...
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le message de
news:0af001c367d0$26371b30$
Bonjour,
J'ai un petit problème à soumettre et avant de faire cela
j'ai testé les différentes solutions proposées dans ce
forum (par Google!) mais cela reste flou encore pour moi.

J'aimerai faire un cumul de sortie de stock sur un tableau
de 1000 articles.
Donc j'aimerai le faire en formule ou en vba

J'ai donc essayé :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End Sub

cette solution ne fonctionne pas si la cellule A1 est mise
à jour par une formule. Le worksheet_change n'est pas
appelé ... c'est justement mon cas !!!!

Laurent Longre propose la solution en 1998 !!!

| Une solution indépendante de la version d'Excel utilisée
consisterait à
| passer par une fonction macro XLM. Contrairement à VBA,
les fonctions
| XLM peuvent en effet récupérer le contenu de la cellule
appelante:
|
| =ARGUMENT("Cellule_cumul";1)
| =RETOUR(CELLULE.APPELANTE()+Cellule_cumul)

??? kesalo les macros XLM? comment les utilisées ??

Et la solution par itérations ne semble pas convenir!!!
Au secours !!!

Merci d'avance.

j'utilise Xl2000
Avatar
gege
Bonjour,
Merci pour ta réponse mais dans cette événement il n'y a
pas de ref à la cellule modifié (Target) donc je ne peux
utiliser le range pour plusieurs lignes de stock.
Dans l'exemple j'ai pris [A2] = [A2] + [A1] mais j'ai 1000
autre lignes à mettre à jour.

Merci

-----Message d'origine-----
Bonjour Gérard,
Peut être peux tu essayer d'utiliser le même code :
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
avec l'évènement calculate de la feuille au lieu de
change ?

une macro xlm est une macro Excel 4, que tu peux insérer
dans ton classeur par clic droit sur un onglet

+ insertion...
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le
message de

news:0af001c367d0$26371b30$
Bonjour,
J'ai un petit problème à soumettre et avant de faire cela
j'ai testé les différentes solutions proposées dans ce
forum (par Google!) mais cela reste flou encore pour moi.

J'aimerai faire un cumul de sortie de stock sur un tableau
de 1000 articles.
Donc j'aimerai le faire en formule ou en vba

J'ai donc essayé :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End Sub

cette solution ne fonctionne pas si la cellule A1 est mise
à jour par une formule. Le worksheet_change n'est pas
appelé ... c'est justement mon cas !!!!

Laurent Longre propose la solution en 1998 !!!

| Une solution indépendante de la version d'Excel utilisée
consisterait à
| passer par une fonction macro XLM. Contrairement à VBA,
les fonctions
| XLM peuvent en effet récupérer le contenu de la cellule
appelante:
|
| =ARGUMENT("Cellule_cumul";1)
| =RETOUR(CELLULE.APPELANTE()+Cellule_cumul)

??? kesalo les macros XLM? comment les utilisées ??

Et la solution par itérations ne semble pas convenir!!!
Au secours !!!

Merci d'avance.

j'utilise Xl2000


.



Avatar
Philippe.R
Bonsoir,
Et avec ceci, à adapter ?

Private Sub Worksheet_Calculate()
'peut fonctionner en l'absence de fonction volatile en a1
For i = 2 To 100
Cells(i, 1).Value = Cells(i, 1).Value + Cells(1, 1).Value
Next i
End Sub
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le message de
news:064501c367f0$f19d84b0$
Bonjour,
Merci pour ta réponse mais dans cette événement il n'y a
pas de ref à la cellule modifié (Target) donc je ne peux
utiliser le range pour plusieurs lignes de stock.
Dans l'exemple j'ai pris [A2] = [A2] + [A1] mais j'ai 1000
autre lignes à mettre à jour.

Merci

-----Message d'origine-----
Bonjour Gérard,
Peut être peux tu essayer d'utiliser le même code :
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
avec l'évènement calculate de la feuille au lieu de
change ?

une macro xlm est une macro Excel 4, que tu peux insérer
dans ton classeur par clic droit sur un onglet

+ insertion...
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le
message de

news:0af001c367d0$26371b30$
Bonjour,
J'ai un petit problème à soumettre et avant de faire cela
j'ai testé les différentes solutions proposées dans ce
forum (par Google!) mais cela reste flou encore pour moi.

J'aimerai faire un cumul de sortie de stock sur un tableau
de 1000 articles.
Donc j'aimerai le faire en formule ou en vba

J'ai donc essayé :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End Sub

cette solution ne fonctionne pas si la cellule A1 est mise
à jour par une formule. Le worksheet_change n'est pas
appelé ... c'est justement mon cas !!!!

Laurent Longre propose la solution en 1998 !!!

| Une solution indépendante de la version d'Excel utilisée
consisterait à
| passer par une fonction macro XLM. Contrairement à VBA,
les fonctions
| XLM peuvent en effet récupérer le contenu de la cellule
appelante:
|
| =ARGUMENT("Cellule_cumul";1)
| =RETOUR(CELLULE.APPELANTE()+Cellule_cumul)

??? kesalo les macros XLM? comment les utilisées ??

Et la solution par itérations ne semble pas convenir!!!
Au secours !!!

Merci d'avance.

j'utilise Xl2000


.



Avatar
gege
Merci pour le conseil, je le teste et je vois.
-----Message d'origine-----
Bonsoir,
Et avec ceci, à adapter ?

Private Sub Worksheet_Calculate()
'peut fonctionner en l'absence de fonction volatile en a1
For i = 2 To 100
Cells(i, 1).Value = Cells(i, 1).Value + Cells(1, 1).Value
Next i
End Sub
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le
message de

news:064501c367f0$f19d84b0$
Bonjour,
Merci pour ta réponse mais dans cette événement il n'y a
pas de ref à la cellule modifié (Target) donc je ne peux
utiliser le range pour plusieurs lignes de stock.
Dans l'exemple j'ai pris [A2] = [A2] + [A1] mais j'ai 1000
autre lignes à mettre à jour.

Merci

-----Message d'origine-----
Bonjour Gérard,
Peut être peux tu essayer d'utiliser le même code :
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
avec l'évènement calculate de la feuille au lieu de
change ?

une macro xlm est une macro Excel 4, que tu peux insérer
dans ton classeur par clic droit sur un onglet

+ insertion...
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002
"gege" a écrit dans le
message de

news:0af001c367d0$26371b30$
Bonjour,
J'ai un petit problème à soumettre et avant de faire cela
j'ai testé les différentes solutions proposées dans ce
forum (par Google!) mais cela reste flou encore pour moi.

J'aimerai faire un cumul de sortie de stock sur un
tableau


de 1000 articles.
Donc j'aimerai le faire en formule ou en vba

J'ai donc essayé :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
[A2] = [A2] + [A1]
End If
End Sub

cette solution ne fonctionne pas si la cellule A1 est
mise


à jour par une formule. Le worksheet_change n'est pas
appelé ... c'est justement mon cas !!!!

Laurent Longre propose la solution en 1998 !!!

| Une solution indépendante de la version d'Excel
utilisée


consisterait à
| passer par une fonction macro XLM. Contrairement à VBA,
les fonctions
| XLM peuvent en effet récupérer le contenu de la cellule
appelante:
|
| =ARGUMENT("Cellule_cumul";1)
| =RETOUR(CELLULE.APPELANTE()+Cellule_cumul)

??? kesalo les macros XLM? comment les utilisées ??

Et la solution par itérations ne semble pas convenir!!!
Au secours !!!

Merci d'avance.

j'utilise Xl2000


.




.