OVH Cloud OVH Cloud

Modifier une formule

12 réponses
Avatar
bouak
Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s’inscrive en A1, A2, A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak

10 réponses

1 2
Avatar
Youky
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
[A1] = [B1]:[A2] = [B1]:[A3] = [B1]
End If
End Sub
Youky

"bouak" a écrit dans le message de news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1, A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak


Avatar
Youky
Oups 1 fois de plus
j'ai pas pigé de suite,
voici
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
End Sub


"bouak" a écrit dans le message de news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1, A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak


Avatar
bouak
Merci Youky de ton aid,

Etant nul dans ce domaine et bien d'autre... j'ai mal formulé ma demande, il
faut que chaque nouveau chiffre s'incrive dans la cellule suivante et que le
précédent reste. Ex.

B1 = 150 A1 = 150
B1 = 180 A2 = 180
B1 = 140 A3 = 140
ainsi desuite
--
bouak



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
[A1] = [B1]:[A2] = [B1]:[A3] = [B1]
End If
End Sub
Youky

"bouak" a écrit dans le message de news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1, A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak







Avatar
Youky
et si tu veux vraiment commencer en A1 , ben voila la 3eme rectifs
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]: Exit Sub
End If
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
End Sub
"bouak" a écrit dans le message de news:

Merci Youky de ton aid,

Etant nul dans ce domaine et bien d'autre... j'ai mal formulé ma demande,
il
faut que chaque nouveau chiffre s'incrive dans la cellule suivante et que
le
précédent reste. Ex.

B1 = 150 A1 = 150
B1 = 180 A2 = 180
B1 = 140 A3 = 140
ainsi desuite
--
bouak



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
[A1] = [B1]:[A2] = [B1]:[A3] = [B1]
End If
End Sub
Youky

"bouak" a écrit dans le message de
news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1,
A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak









Avatar
Thierry
Bonsoir bouak,

Peut-être ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For i = 1 To 20
Cells(i, 1) = [b1].Value
Next
Application.EnableEvents = True
End Sub

Recopie la valeur de b1 dans les cellules A1 à A20

@+ thierryp

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s’inscrive en A1, A2, A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide




Avatar
bouak
Tip Top... Youky! ça marche super bien.

MERCI BIEN POUR TON AIDE

Non t'avais bien compris mais j'avais mal exprimé...

Je suis dans le domaine du FX en finance si t'as besoin de moi avec plaisir


--
bouak



Oups 1 fois de plus
j'ai pas pigé de suite,
voici
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
End Sub


"bouak" a écrit dans le message de news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1, A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak







Avatar
Thierry
Re-bonsoir bouak,

Ceci devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Cells((Range("A65000").End(xlUp).Row) + 1, 1) = [B1]
End Sub

@+ thierryp

Merci Youky de ton aid,

Etant nul dans ce domaine et bien d'autre... j'ai mal formulé ma demande, il
faut que chaque nouveau chiffre s'incrive dans la cellule suivante et que le
précédent reste. Ex.

B1 = 150 A1 = 150
B1 = 180 A2 = 180
B1 = 140 A3 = 140
ainsi desuite


Avatar
bouak
Merci bien Thierry ta réponse trés sympa
@+
--
bouak



Bonsoir bouak,

Peut-être ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For i = 1 To 20
Cells(i, 1) = [b1].Value
Next
Application.EnableEvents = True
End Sub

Recopie la valeur de b1 dans les cellules A1 à A20

@+ thierryp

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s’inscrive en A1, A2, A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide







Avatar
bouak
Cette fois-ci c'est top... mais lorsque je remplace en B1 le chiffre constant
par une formule qui correspond à chiffre que j'importe en temps réel, ça ne
le porte pas à la suite...

As-tu la solution ?

--
bouak



et si tu veux vraiment commencer en A1 , ben voila la 3eme rectifs
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
If Cells([A65000].End(xlUp).Row, 1) = 0 Then
[A1] = [B1]: Exit Sub
End If
Cells([A65000].End(xlUp).Row + 1, 1) = [B1]
End If
End Sub
"bouak" a écrit dans le message de news:

Merci Youky de ton aid,

Etant nul dans ce domaine et bien d'autre... j'ai mal formulé ma demande,
il
faut que chaque nouveau chiffre s'incrive dans la cellule suivante et que
le
précédent reste. Ex.

B1 = 150 A1 = 150
B1 = 180 A2 = 180
B1 = 140 A3 = 140
ainsi desuite
--
bouak



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
[A1] = [B1]:[A2] = [B1]:[A3] = [B1]
End If
End Sub
Youky

"bouak" a écrit dans le message de
news:

Bonsoir,

Je voudrai que chaque nouveau chiffre porté en B1, s'inscrive en A1,
A2,
A3
ainsi de suite..

SVP quelle est la rectification à faire à cette formule.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Application.EnableEvents = False

For i = 150 To 2 -1
Cells(i, 1) = Cells(i - 1, 1).Value
Next
[a1] = [b1].Value
Application.EnableEvents = True

End Sub


Merci de votre aide


--
bouak














Avatar
bouak
Merci bien thierry.

Cette fois-ci c'est top... mais lorsque je remplace en B1 le chiffre
constant par une formule qui correspond à chiffre que j'importe en temps
réel, ça ne le porte pas à la suite...

As-tu la solution ?

--
bouak



Re-bonsoir bouak,

Ceci devrait le faire :

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("b1")) Is Nothing Then Exit Sub
Cells((Range("A65000").End(xlUp).Row) + 1, 1) = [B1]
End Sub

@+ thierryp

Merci Youky de ton aid,

Etant nul dans ce domaine et bien d'autre... j'ai mal formulé ma demande, il
faut que chaque nouveau chiffre s'incrive dans la cellule suivante et que le
précédent reste. Ex.

B1 = 150 A1 = 150
B1 = 180 A2 = 180
B1 = 140 A3 = 140
ainsi desuite





1 2