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".
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 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
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 <jul...@discussions.microsoft.com> 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".
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
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
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 <jul...@discussions.microsoft.com> 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".
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
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 -
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 <jul...@discussions.microsoft.com> 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 <jul...@discussions.microsoft.com> 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".
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 -
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 -
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 <jul...@discussions.microsoft.com> 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 <jul...@discussions.microsoft.com> 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 -
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 -
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 -
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 <jul...@discussions.microsoft.com> 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 <jul...@discussions.microsoft.com> 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 -
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 -