Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Résultat en valeur

5 réponses
Avatar
JulieH
Bonjour à toutes et tous,

A nouveau un petit problème, sans doute très simple pour vous.

En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le calcul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai écrit
la macro suivante pour le faire.

Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000"")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub

Mon problème est le suivant : je souhaite que la formule n'apparaisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du tout "Evaluate".

Merci par avance pour vos idées.

Julie

5 réponses

Avatar
JB
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1) = [F5] & Format(Target, "000")
End If
End Sub

JB


On 19 juin, 09:38, JulieH wrote:
Bonjour à toutes et tous,

A nouveau un petit problème, sans doute très simple pour vous.

En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le calc ul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai éc rit
la macro suivante pour le faire.

Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000"")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub

Mon problème est le suivant : je souhaite que la formule n'appa raisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du tout "Evaluate".

Merci par avance pour vos idées.

Julie


Avatar
JulieH
Bonjour,

OK, le résultat est exactement celui recherché.

Si je peux me permettre, j'ai, dans un autre contexte, une seconde
question avec Worksheet_Change,
Il y aurait deux conditions :
- je saisis des données en B et C, le problème c'est qu'il peut y en
avoir en B ou en C ou pas du tout.
- Ce que je souhaite c'est : s'il y a des données en B ou en C,
additionner les 2 en D.
Je ne vois pas bien comment le réaliser.

A nouveau merci

Julie


Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1) = [F5] & Format(Target, "000")
End If
End Sub

JB


On 19 juin, 09:38, JulieH wrote:
Bonjour à toutes et tous,

A nouveau un petit problème, sans doute très simple pour vous.

En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le calcul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai écrit
la macro suivante pour le faire.

Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000"")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub

Mon problème est le suivant : je souhaite que la formule n'apparaisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du tout "Evaluate".

Merci par avance pour vos idées.

Julie






Avatar
JB
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 And Target.Count = 1 Then
If Cells(Target.Row, 2) <> "" And Cells(Target.Row, 3) <> "" Then
Cells(Target.Row, 4) = Cells(Target.Row, 2) + Cells(Target.Row,
3)
End If
End If
End Sub

http://cjoint.com/?gtmXTKFeg4

JB

On 19 juin, 11:11, JulieH wrote:
Bonjour,

OK, le résultat est exactement celui recherché.

Si je peux me permettre, j'ai, dans un autre contexte, une seconde
question avec Worksheet_Change,
Il y aurait deux conditions :
- je saisis des données en B et C, le problème c'est qu'il peut y en
avoir en B ou en C ou pas du tout.
- Ce que je souhaite c'est : s'il y a des données en B ou en C,
additionner les 2 en D.
Je ne vois pas bien comment le réaliser.

A nouveau merci

Julie




Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1) = [F5] & Format(Target, "000")
End If
End Sub

JB

On 19 juin, 09:38, JulieH wrote:
Bonjour à toutes et tous,

A nouveau un petit problème, sans doute très simple pour v ous.

En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le c alcul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai écrit
la macro suivante pour le faire.

Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000 "")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub

Mon problème est le suivant : je souhaite que la formule n'a pparaisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du to ut "Evaluate".

Merci par avance pour vos idées.

Julie- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
JulieH
Je me suis sans doute mal exprimée : la proposition correspond bien
globalement à ce que je veux réaliser, mais il faut avoir une valeur en
D dès qu'il y a quelque chose en B ou en C (et non pas en B et en C).

Merci d'avance

Julie

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 And Target.Count = 1 Then
If Cells(Target.Row, 2) <> "" And Cells(Target.Row, 3) <> "" Then
Cells(Target.Row, 4) = Cells(Target.Row, 2) + Cells(Target.Row,
3)
End If
End If
End Sub

http://cjoint.com/?gtmXTKFeg4

JB

On 19 juin, 11:11, JulieH wrote:
Bonjour,

OK, le résultat est exactement celui recherché.

Si je peux me permettre, j'ai, dans un autre contexte, une seconde
question avec Worksheet_Change,
Il y aurait deux conditions :
- je saisis des données en B et C, le problème c'est qu'il peut y en
avoir en B ou en C ou pas du tout.
- Ce que je souhaite c'est : s'il y a des données en B ou en C,
additionner les 2 en D.
Je ne vois pas bien comment le réaliser.

A nouveau merci

Julie




Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1) = [F5] & Format(Target, "000")
End If
End Sub
JB
On 19 juin, 09:38, JulieH wrote:
Bonjour à toutes et tous,
A nouveau un petit problème, sans doute très simple pour vous.
En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le calcul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai écrit
la macro suivante pour le faire.
Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000"")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub
Mon problème est le suivant : je souhaite que la formule n'apparaisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du tout "Evaluate".
Merci par avance pour vos idées.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










Avatar
JulieH
J'ai posté trop vite, j'ai changé le And par Or dans la seconde ligne et
tout fonctionne.

Merci encore

Julie

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Or Target.Column = 3 And Target.Count = 1 Then
If Cells(Target.Row, 2) <> "" And Cells(Target.Row, 3) <> "" Then
Cells(Target.Row, 4) = Cells(Target.Row, 2) + Cells(Target.Row,
3)
End If
End If
End Sub

http://cjoint.com/?gtmXTKFeg4

JB

On 19 juin, 11:11, JulieH wrote:
Bonjour,

OK, le résultat est exactement celui recherché.

Si je peux me permettre, j'ai, dans un autre contexte, une seconde
question avec Worksheet_Change,
Il y aurait deux conditions :
- je saisis des données en B et C, le problème c'est qu'il peut y en
avoir en B ou en C ou pas du tout.
- Ce que je souhaite c'est : s'il y a des données en B ou en C,
additionner les 2 en D.
Je ne vois pas bien comment le réaliser.

A nouveau merci

Julie




Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1) = [F5] & Format(Target, "000")
End If
End Sub
JB
On 19 juin, 09:38, JulieH wrote:
Bonjour à toutes et tous,
A nouveau un petit problème, sans doute très simple pour vous.
En F5, je saisis un nombre une fois pour toutes, en colonne B, je
saisis d'autres nombres que je souhaite concaténer avec le premier en
colonne C.
Je souhaite qu'à chaque fois qu'il y a une saisie en B, le calcul se
fasse automatiquement en C. Jusque là pas trop de problème, j'ai écrit
la macro suivante pour le faire.
Private Sub Worksheet_Change(ByVal Target As Range)
If [F5] = "" Then
MsgBox "Saisir un nombre en F5"
End If
If Target.Column = 2 And Target <> "" Then
Target.Offset(, 1).FormulaR1C1 = "=R5C6&TEXT(RC[-1],""000"")"
Target.Offset(, 1) = Target.Offset(, 1)
End If
End Sub
Mon problème est le suivant : je souhaite que la formule n'apparaisse
pas en C et que le nombre soit "en valeur". La ligne "Target.Offset(, 1)
= Target.Offset(, 1)" le fait mais EXCEL me dit que la valeur est
précédé d'une apostrophe ou au format texte.
Je veux que la valeur soit un nombre. Je ne maître pas du tout "Evaluate".
Merci par avance pour vos idées.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -