Résultat en valeur

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4913841
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
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


JulieH
Le #4913771
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
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






JB
Le #4913691
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) 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
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
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 -




JulieH
Le #4913621
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) 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
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
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 -










JulieH
Le #4913611
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) 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
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
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 -










Publicité
Poster une réponse
Anonyme