Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris
Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris
Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris
Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :
> Bonjour,
>
> j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
> saisie:
>
> -en [a140:a10000], je saisie des nombres allant de 0 à 36.
> -en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim i As Long
> If Not Intersect([a140:a10000], Target) Is Nothing Then
> Application.EnableEvents = False
>
> i = 140
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
> Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
> Then
> cells(i, 22) = "[1]"
> Else
> cells(i, 22) = Worksheets("feuil1").cells(i, 39)
> End If
> End If
> Application.EnableEvents = True
> End Sub
>
> Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
> normale!).
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
> Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
> calcule en décalant la variable "i" comme ca:
>
> If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
> Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
> 39) Then
> cells(i+35, 22) = "[1]"
> Else
> cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
> End If
>
> je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
> concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
> obtenu.
>
> merci!
>
> Chris
>
>
Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :
> Bonjour,
>
> j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
> saisie:
>
> -en [a140:a10000], je saisie des nombres allant de 0 à 36.
> -en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim i As Long
> If Not Intersect([a140:a10000], Target) Is Nothing Then
> Application.EnableEvents = False
>
> i = 140
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
> Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
> Then
> cells(i, 22) = "[1]"
> Else
> cells(i, 22) = Worksheets("feuil1").cells(i, 39)
> End If
> End If
> Application.EnableEvents = True
> End Sub
>
> Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
> normale!).
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
> Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
> calcule en décalant la variable "i" comme ca:
>
> If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
> Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
> 39) Then
> cells(i+35, 22) = "[1]"
> Else
> cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
> End If
>
> je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
> concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
> obtenu.
>
> merci!
>
> Chris
>
>
Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :
> Bonjour,
>
> j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
> saisie:
>
> -en [a140:a10000], je saisie des nombres allant de 0 à 36.
> -en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
>
> Private Sub Worksheet_Change(ByVal Target As Range)
> Dim i As Long
> If Not Intersect([a140:a10000], Target) Is Nothing Then
> Application.EnableEvents = False
>
> i = 140
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
> Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
> Then
> cells(i, 22) = "[1]"
> Else
> cells(i, 22) = Worksheets("feuil1").cells(i, 39)
> End If
> End If
> Application.EnableEvents = True
> End Sub
>
> Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
> normale!).
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
> Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
> calcule en décalant la variable "i" comme ca:
>
> If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
> Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
> 39) Then
> cells(i+35, 22) = "[1]"
> Else
> cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
> End If
>
> je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
> concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
> obtenu.
>
> merci!
>
> Chris
>
>
Rebonjour
Tout d'abord, je reprecise que j'ecris mon code en feuil3.
Voilà en fait, j'aimerais que lorsque je saisie un nombre pouvant aller de 0
à 36, il me renvoit un résultat dans la même ligne en colonne 22(v).
Pour obtenir ce résultat, il doit consulter la même ligne ainsi que celle du
dessus dans la colonne 39 de la feuil1.
exemple:
je saisie 24 en A142, donc j'attends un résultat en v142.
Pour obtenir ce resultat, il doit consulter AM141 et AM142 de la feuil1.
donc en tenant compte de mes critères ca donnerait:
si la saisie est en a142 et que feuil1 AM141<>"" et que
feuil1 AM141= feuil1 Am142
alors v142 = "[1]"
sinon v142 = feuil1 AM142
il y a un rapport de ligne à exploiter mais je ne sais pas le faire:
si saisie a142, resultat v142, recherche feuil1 am142 (+ligne du dessus)
J'espere avoir été un peu plus clair.
Mon autre soucis était d'éviter qu'il recalcule tout à chaque saisie....
Merci pour votre aide!
Chris
"LSteph" a écrit :Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris
Rebonjour
Tout d'abord, je reprecise que j'ecris mon code en feuil3.
Voilà en fait, j'aimerais que lorsque je saisie un nombre pouvant aller de 0
à 36, il me renvoit un résultat dans la même ligne en colonne 22(v).
Pour obtenir ce résultat, il doit consulter la même ligne ainsi que celle du
dessus dans la colonne 39 de la feuil1.
exemple:
je saisie 24 en A142, donc j'attends un résultat en v142.
Pour obtenir ce resultat, il doit consulter AM141 et AM142 de la feuil1.
donc en tenant compte de mes critères ca donnerait:
si la saisie est en a142 et que feuil1 AM141<>"" et que
feuil1 AM141= feuil1 Am142
alors v142 = "[1]"
sinon v142 = feuil1 AM142
il y a un rapport de ligne à exploiter mais je ne sais pas le faire:
si saisie a142, resultat v142, recherche feuil1 am142 (+ligne du dessus)
J'espere avoir été un peu plus clair.
Mon autre soucis était d'éviter qu'il recalcule tout à chaque saisie....
Merci pour votre aide!
Chris
"LSteph" a écrit :
Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :
Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris
Rebonjour
Tout d'abord, je reprecise que j'ecris mon code en feuil3.
Voilà en fait, j'aimerais que lorsque je saisie un nombre pouvant aller de 0
à 36, il me renvoit un résultat dans la même ligne en colonne 22(v).
Pour obtenir ce résultat, il doit consulter la même ligne ainsi que celle du
dessus dans la colonne 39 de la feuil1.
exemple:
je saisie 24 en A142, donc j'attends un résultat en v142.
Pour obtenir ce resultat, il doit consulter AM141 et AM142 de la feuil1.
donc en tenant compte de mes critères ca donnerait:
si la saisie est en a142 et que feuil1 AM141<>"" et que
feuil1 AM141= feuil1 Am142
alors v142 = "[1]"
sinon v142 = feuil1 AM142
il y a un rapport de ligne à exploiter mais je ne sais pas le faire:
si saisie a142, resultat v142, recherche feuil1 am142 (+ligne du dessus)
J'espere avoir été un peu plus clair.
Mon autre soucis était d'éviter qu'il recalcule tout à chaque saisie....
Merci pour votre aide!
Chris
"LSteph" a écrit :Bonjour Chrisdolby,
Selon ton objectif, attention ceci
> If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> ""
ne veut pas dire la même chose que
If cells(i, 1)<> "" And Worksheets("feuil1").cells(i - 1, 39) <> ""
> Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
> [a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se
décale ...
Selon ce que tu suggères au bout de plusieurs saisies ta colonne 39 sera
truffée de [1]
Dis nous plus précisément "ce que tu veux faire" plutôt que "le comment
tu n'y arrive pas"
@+
--
lSteph
Chrisdolby a écrit :Bonjour,
j'essaie d'ecrire sur la feuil 3 une procédure qui se répèterait suivant la
saisie:
-en [a140:a10000], je saisie des nombres allant de 0 à 36.
-en [v140:v10000], j'obtiens des résultats conditionnés par cette procédure:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
If Not Intersect([a140:a10000], Target) Is Nothing Then
Application.EnableEvents = False
i = 140
If cells(i, 1) And Worksheets("feuil1").cells(i - 1, 39) <> "" And
Worksheets("feuil1").cells(i - 1, 39) = Worksheets("feuil1").cells(i, 39)
Then
cells(i, 22) = "[1]"
Else
cells(i, 22) = Worksheets("feuil1").cells(i, 39)
End If
End If
Application.EnableEvents = True
End Sub
Ma procédure fonctionne pour le moment que pour la ligne 140(et c'est
normale!).
Ce que je voudrais maintenant, c'est que quelque soit la ligne dans
[a140:a10000] ou je saisie un nombre (de 0 à 36), la procédure se décale ...
Par exemple si je saisie le nombre 14 en A175, je voudrais que la procédure
calcule en décalant la variable "i" comme ca:
If cells(i+35, 1) And Worksheets("feuil1").cells(i - 1+35, 39) <> "" And
Worksheets("feuil1").cells(i - 1+35, 39) = Worksheets("feuil1").cells(i+35,
39) Then
cells(i+35, 22) = "[1]"
Else
cells(i+35, 22) = Worksheets("feuil1").cells(i+35, 39)
End If
je souhaiterais qu'il ne tienne compte dans le "recalcul" que de la ligne
concernée donc qu'il ne recalcule pas celles dont le résultat a déjà été
obtenu.
merci!
Chris