j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre
différent.
je souhaiterais que lorsque je change un chiffre dans une cellule par un
chiffre plus grand, tous les chiffres des cellules qui sont à gauche de
celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une
cellule par un chiffre plus petit, je voudrais que tous les chiffres des
cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1
ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2),
faudra t-il faire une macro par cellule?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = False If [mémo] <> "" Then If Target <> CDbl([mémo]) Then For i = 4 To Target.Column - 1 Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1, 1) Next i End If End If End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34) & Target.Value & Chr(34) End If End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre différent. je souhaiterais que lorsque je change un chiffre dans une cellule par un chiffre plus grand, tous les chiffres des cellules qui sont à gauche de celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une cellule par un chiffre plus petit, je voudrais que tous les chiffres des cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1 ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2), faudra t-il faire une macro par cellule?
Merci pour vos lumières!
Chris
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1
Then
Application.EnableEvents = False
If [mémo] <> "" Then
If Target <> CDbl([mémo]) Then
For i = 4 To Target.Column - 1
Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1,
1)
Next i
End If
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1
Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34)
& Target.Value & Chr(34)
End If
End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby <Chrisdo...@discussions.microsoft.com>
wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre
différent.
je souhaiterais que lorsque je change un chiffre dans une cellule par un
chiffre plus grand, tous les chiffres des cellules qui sont à gauche de
celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une
cellule par un chiffre plus petit, je voudrais que tous les chiffres des
cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1
ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2),
faudra t-il faire une macro par cellule?
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = False If [mémo] <> "" Then If Target <> CDbl([mémo]) Then For i = 4 To Target.Column - 1 Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1, 1) Next i End If End If End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr( 34) & Target.Value & Chr(34) End If End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre différent. je souhaiterais que lorsque je change un chiffre dans une cellule par un chiffre plus grand, tous les chiffres des cellules qui sont à gauche de celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une cellule par un chiffre plus petit, je voudrais que tous les chiffres des cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1 ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2), faudra t-il faire une macro par cellule?
Merci pour vos lumières!
Chris
Chrisdolby
Bonjour,
je tiens à vous remercier pour votre implication. Ca marche nickel!
Chris
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = False If [mémo] <> "" Then If Target <> CDbl([mémo]) Then For i = 4 To Target.Column - 1 Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1, 1) Next i End If End If End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) & Target.Value & Chr(34) End If End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre différent. je souhaiterais que lorsque je change un chiffre dans une cellule par un chiffre plus grand, tous les chiffres des cellules qui sont à gauche de celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une cellule par un chiffre plus petit, je voudrais que tous les chiffres des cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1 ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2), faudra t-il faire une macro par cellule?
Merci pour vos lumières!
Chris
Bonjour,
je tiens à vous remercier pour votre implication.
Ca marche nickel!
Chris
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1
Then
Application.EnableEvents = False
If [mémo] <> "" Then
If Target <> CDbl([mémo]) Then
For i = 4 To Target.Column - 1
Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1,
1)
Next i
End If
End If
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1
Then
ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34)
& Target.Value & Chr(34)
End If
End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby <Chrisdo...@discussions.microsoft.com>
wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre
différent.
je souhaiterais que lorsque je change un chiffre dans une cellule par un
chiffre plus grand, tous les chiffres des cellules qui sont à gauche de
celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une
cellule par un chiffre plus petit, je voudrais que tous les chiffres des
cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1
ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2),
faudra t-il faire une macro par cellule?
je tiens à vous remercier pour votre implication. Ca marche nickel!
Chris
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then Application.EnableEvents = False If [mémo] <> "" Then If Target <> CDbl([mémo]) Then For i = 4 To Target.Column - 1 Cells(2, i) = Cells(2, i) + IIf(Target < CDbl([mémo]), -1, 1) Next i End If End If End If Application.EnableEvents = True End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect([D2:U2], Target) Is Nothing And Target.Count = 1 Then ActiveWorkbook.Names.Add Name:="mémo", RefersToR1C1:="=" & Chr(34) & Target.Value & Chr(34) End If End Sub
http://cjoint.com/?cqh3NGGkAH
Cordialement JB
On 16 fév, 02:50, Chrisdolby wrote:
Bonjour,
j'ai une ligne comportant 18 cellules(D2;U2) contenant chacunes un chiffre différent. je souhaiterais que lorsque je change un chiffre dans une cellule par un chiffre plus grand, tous les chiffres des cellules qui sont à gauche de celle-ci augmentent de 1. De même, lorsque je change un chiffre dans une cellule par un chiffre plus petit, je voudrais que tous les chiffres des cellules à gauche de celle-ci diminuent de 1.
ex1: G2=8 devient G2=9 donc plage (D2;F2) +1 ex2: G2=8 devient G2=7 donc plage (D2;F2) -1
La plage de cellules concernées par le changement à la saisie étant (G2;U2), faudra t-il faire une macro par cellule?