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 à 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 à 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 à 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
Re,
Si j'ai bien compris cette fois !
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
'nota: (j'ai gardé la bonne idée de MD pour le Calcul)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
Re,
Si j'ai bien compris cette fois !
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
'nota: (j'ai gardé la bonne idée de MD pour le Calcul)
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
Re,
Si j'ai bien compris cette fois !
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
'nota: (j'ai gardé la bonne idée de MD pour le Calcul)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
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Range("ac" & i) <> 0 Then
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Range("ac" & i) <> 0 Then
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Range("ac" & i) <> 0 Then
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulem ent
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochai ne
cellule qui n'a pas le chiffre 0.
Merci de ton aide...une petite rectif (si on répète faut effacer d'abord en ad29:ad6 5536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulem ent
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochai ne
cellule qui n'a pas le chiffre 0.
Merci de ton aide
...une petite rectif (si on répète faut effacer d'abord en ad29:ad6 5536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulem ent
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochai ne
cellule qui n'a pas le chiffre 0.
Merci de ton aide...une petite rectif (si on répète faut effacer d'abord en ad29:ad6 5536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour,
Ca ne plante pas:
http://cjoint.com/?kFoNk3g56U
en revanche cela plantera si en AC il y a du texte par exemple.
Cordialement.
--
lSteph
On 31 oct, 13:35, marcus wrote:Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulement
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochaine
cellule qui n'a pas le chiffre 0.
Merci de ton aide...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour,
Ca ne plante pas:
http://cjoint.com/?kFoNk3g56U
en revanche cela plantera si en AC il y a du texte par exemple.
Cordialement.
--
lSteph
On 31 oct, 13:35, marcus <mar...@discussions.microsoft.com> wrote:
Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulement
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochaine
cellule qui n'a pas le chiffre 0.
Merci de ton aide
...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph
Bonjour,
Ca ne plante pas:
http://cjoint.com/?kFoNk3g56U
en revanche cela plantera si en AC il y a du texte par exemple.
Cordialement.
--
lSteph
On 31 oct, 13:35, marcus wrote:Bonjour LSteph
Je viens de tester ta macro, et elle me donne une erreur à la phrase
If Not IsEmpty(Range("ac" & i)) And _Range("ac" & i) <> 0 Then
Dans mon fichier, la cellule AC contient seulement des chiffres, dont
quelques fois le chiffre 0. Il n'y a pas d'espace vide, pas de cellule en
format texte, pas rien de tout cela, mise à part des chiffres et seulement
des chiffres. Ce que j'aimerais, c'est que la macro divise par la prochaine
cellule qui n'a pas le chiffre 0.
Merci de ton aide...une petite rectif (si on répète faut effacer d'abord en ad29:ad65536)
Option Explicit
Sub Macro2()
Dim ModCalcul As String, i As Long, j As Long
Application.ScreenUpdating = False
ModCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
[ad29:ad65536].ClearContents
j = 0
For i = [ac65536].End(3).Row To 29 Step -1
If Not IsEmpty(Range("ac" & i)) And _
Range("ac" & i) <> 0 Then
If j > 0 Then Range("ad" & i) = _
Range("ac" & i) / Range("ac" & j)
j = i
End If
Next i
Application.Calculation = ModCalcul
Application.EnableEvents = True
End Sub
'lSteph