Salut MichDenis
à la ligne IF C<>0 then range.... j'ai un message d'erreur. Que se passe t-il?Sub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Dim DerLig As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
DerLig = Range("aC65536").End(xlUp).Row
For Each S In Range("aC29:aC" & DerLig)
For Each C In Range("aC29:aC" & DerLig)
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" a écrit dans le message de news:
Bonjour MichDenis
Merci de ton aide, cela à aider à passer le temps à 4 minutes.
J'ai une dernière question. Si, selon mes besoins, je ne connais pas le
nombre de données qu'il y a dans la colonne AC, mais que les données
commencent toujours à AC29, comment dois-je modifier mon code? Étant pas
programmeur...
Merci de ton aide
MarcusSub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For Each S In Range("aC29:aC1029")
For Each C In Range("aC29:aC1029")
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" a écrit dans le message de news:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Salut MichDenis
à la ligne IF C<>0 then range.... j'ai un message d'erreur. Que se passe t-il?
Sub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Dim DerLig As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
DerLig = Range("aC65536").End(xlUp).Row
For Each S In Range("aC29:aC" & DerLig)
For Each C In Range("aC29:aC" & DerLig)
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" <marcus@discussions.microsoft.com> a écrit dans le message de news:
99852B6B-D240-452A-93E0-65F3F2D26067@microsoft.com...
Bonjour MichDenis
Merci de ton aide, cela à aider à passer le temps à 4 minutes.
J'ai une dernière question. Si, selon mes besoins, je ne connais pas le
nombre de données qu'il y a dans la colonne AC, mais que les données
commencent toujours à AC29, comment dois-je modifier mon code? Étant pas
programmeur...
Merci de ton aide
Marcus
Sub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For Each S In Range("aC29:aC1029")
For Each C In Range("aC29:aC1029")
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" <marcus@discussions.microsoft.com> a écrit dans le message de news:
BAEE1CF7-82D3-46E5-9012-5BE8BBA9E6EE@microsoft.com...
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Salut MichDenis
à la ligne IF C<>0 then range.... j'ai un message d'erreur. Que se passe t-il?Sub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Dim DerLig As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
DerLig = Range("aC65536").End(xlUp).Row
For Each S In Range("aC29:aC" & DerLig)
For Each C In Range("aC29:aC" & DerLig)
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" a écrit dans le message de news:
Bonjour MichDenis
Merci de ton aide, cela à aider à passer le temps à 4 minutes.
J'ai une dernière question. Si, selon mes besoins, je ne connais pas le
nombre de données qu'il y a dans la colonne AC, mais que les données
commencent toujours à AC29, comment dois-je modifier mon code? Étant pas
programmeur...
Merci de ton aide
MarcusSub Macro2()
Dim ModCalcul As String
Dim S As Range, C As Range
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
For Each S In Range("aC29:aC1029")
For Each C In Range("aC29:aC1029")
If C <> 0 Then Range("ad" & S.Row) = S / C
Next C, S
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
"marcus" a écrit dans le message de news:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
oups visiblement je n'avais pas tout Bu, mais suis contente tout de même
de t'avoir ému ;-)
isabelle
oups visiblement je n'avais pas tout Bu, mais suis contente tout de même
de t'avoir ému ;-)
isabelle
oups visiblement je n'avais pas tout Bu, mais suis contente tout de même
de t'avoir ému ;-)
isabelle
Sans énoncé clair, difficile de se pencher sur la problématique !!!
Bien de cet avis.
| MD semble ne se poser même pas la question
Et oui, quand j'ai répondu (première réponse du fil)
je n'avais pas la donne du problème mais seulement
la procédure d'isabelle.
Depuis, il a ajouté ceci :
****************************
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
****************************
Il parle de cellule contenant le caractère 0 et non égale à zéro ???
Et,
Dans les cellules qui ont le caractère 0, devrait-on ajouté la formule
ou indiqué simplement le résultat 0 ????
Sans énoncé clair, difficile de se pencher sur la problématique !!!
"lSteph" a écrit dans le message de news:
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Sans énoncé clair, difficile de se pencher sur la problématique !!!
Bien de cet avis.
| MD semble ne se poser même pas la question
Et oui, quand j'ai répondu (première réponse du fil)
je n'avais pas la donne du problème mais seulement
la procédure d'isabelle.
Depuis, il a ajouté ceci :
****************************
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
****************************
Il parle de cellule contenant le caractère 0 et non égale à zéro ???
Et,
Dans les cellules qui ont le caractère 0, devrait-on ajouté la formule
ou indiqué simplement le résultat 0 ????
Sans énoncé clair, difficile de se pencher sur la problématique !!!
"lSteph" <gmLSteph@gmail.com> a écrit dans le message de news:
1193762761.559331.14620@v3g2000hsg.googlegroups.com...
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Sans énoncé clair, difficile de se pencher sur la problématique !!!
Bien de cet avis.
| MD semble ne se poser même pas la question
Et oui, quand j'ai répondu (première réponse du fil)
je n'avais pas la donne du problème mais seulement
la procédure d'isabelle.
Depuis, il a ajouté ceci :
****************************
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
****************************
Il parle de cellule contenant le caractère 0 et non égale à zéro ???
Et,
Dans les cellules qui ont le caractère 0, devrait-on ajouté la formule
ou indiqué simplement le résultat 0 ????
Sans énoncé clair, difficile de se pencher sur la problématique !!!
"lSteph" a écrit dans le message de news:
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
oups visiblement je n'avais pas tout lu, mais suis contente tout de même
de t'avoir ému ;-)
isabelleBonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de
réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème.
. C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par
contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses.
Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
oups visiblement je n'avais pas tout lu, mais suis contente tout de même
de t'avoir ému ;-)
isabelle
Bonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie
.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de
réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème.
. C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par
contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses.
Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
oups visiblement je n'avais pas tout lu, mais suis contente tout de même
de t'avoir ému ;-)
isabelleBonsoir,
Au vu aussi des propositions de mes "petits camarades" mais...
comme je ne sais toujours pas à quoi c'est destiné, cela devient
surréaliste!
Pour l'instant mis à part Serge qui a rejoint mon idée de mettre un
exit for pour gagner du temps mais est-ce l'objectif puisque le code
initial écrase chaque valeur précédentes, veux t-on la première ou la
dernière, MD semble ne se poser même pas la question, ce qui
connaissant ses hautes capacités me rend encore plus perplexe sur ma
compréhension du but et du contexte. L'idée d'interrompre le calcul,
ça en revanche c'est très clair.
Isabelle propose If Not IsEmpty(c) <> 0 , cette forme là m'émeut
encore plus.
Aussi je vais aller faire un tour, boire un truc bien fort et
repasserais bien plus tard si j'y vois plus clair.
Il y a des jours comme ça où l'on se sent complètement à côté de la
plaque.
@+
--
lSteph
On 30 oct, 15:41, marcus wrote:Bonjour Lsteph
merci de ton aide. Je comprends que ce n'est pas si simple de faire tout
cela, et en plus, n'étant pas programmeur, alors....
Merci de ton aide, je l'apprécie.... si le but est de pomper sans savoir pourquoi on pompe,
le code serait executé plus rapidement avec
exit for
en sortant ainsi de la boucle sitôt qu'une valeur de c satisfaisante
est rencontrée
, voire si c'est la dernière qui est souhaitée faire une boucle en
remontant,
tout cela dont il n'est pas évident que le but recherché ne soit pas
lié, donc
outre définir toutes les variables et suspendre le recalcul et les
évènements
mettre en haut du module.
Option explicit
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de
réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème.
. C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par
contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses.
Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aideBonjour,je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aide
Bonjour,
je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aideBonjour,je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aideBonjour,je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aide
Bonjour,
je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub
Bonjour Lsteph
Merci de m'aider. S'il existe une formule pour faire ce que je veux, je
l'apprécierais énormément. Alors, voici ce que je veux, c'est de prendre une
cellule et la diviser par la suivante qui n'est pas un zéro.
Exemple.
Colonne A
A1 Dans la cellule B1, la formule devrait être A1/A2
A2=2 Dans la cellule B2, la formule devrait être A2/ A5 car A3 et A4
contiennent 0
A3=0 ici la réponse devrait être 0
A4=0 ici la réponse devrait être 0
A5=2 etc.
Voici aussi un fichier exemple de ce que je veux faire
http://cjoint.com/?kEo5c2yCFP
Merci de ton aideBonjour,je tente ma chance pour une deuxième fois
Alors pourquoi tu changes de fil? du coup on ne sait pas ce qui venait
avant!
(si on demande de ne pas le faire ce n'est pas pour des prunes)
Ceci semble bizarre,For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
si tu boucles déjà sur s pour mettre les valeurs en ad de ligne s
pourquoi reboucler sur c
si c<>0 la valeur de s/c sera mise en ad mais sera aussitôt remplacée
par la valeur suivante s/c où c<>0
du coup tu imbriques deux boucles pour n'avoir que la dernière
occurence de c où c<>0 qui te renvoie le calcul.
Ce même exercice se ferait sans doute avec une formule
Quelque chose m'échappe très certainement surtout si Isabelle t'a
donné ce code,
il y avait surement une bonne raison , tu voulais faire quoi?
Cordialement.
--
lSteph
On 30 oct, 13:36, marcus wrote:Bonjour à vous tous
je tente ma chance pour une deuxième fois, n'ayant pas eu de réponse à mon
premier post. Merci à Patrick d'avoir essayé à régler mon problème. . C'est
Isabelle qui m'a donné ce code et il fonctionne à merveille. Par contre,
après 10 minutes d'attente, je n'ai toujours pas les réponses. Alors je
voulais savoir qu'elle était mon problème et s'il existait une façon
d'accéler le processus.
Merci de votre aide pour une deuxième fois
Marcus
Voici mon code de macro
Sub Macro2()
Application.ScreenUpdating = False
For Each s In Range("aC29:aC1029")
For Each c In Range("aC29:aC1029")
If c <> 0 Then Range("ad" & s.Row) = s / c
Next
Next
Application.ScreenUpdating = True
End Sub