OVH Cloud OVH Cloud

Left Right

8 réponses
Avatar
Denys
Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value, ?)
TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys

8 réponses

Avatar
Hervé
Bonjour

a essayer (non compatible excel97)

Dim tablo
Dim i As Byte

tablo = Split(ActiveCell.Offset(0, 12), "-")

For i = 1 To 3
Controls("textbox" & i) = tablo(i - 1)
Next i


salut
Avatar
Lolote
Salut Denys

Si ton format est toujours le même, a savoir aller chercher le 5ème
caractère et ceci sur 3 caractère, tu peux utiliser

TextBox1.Value=mid(ActiveCell.Offset(0,12).Value,5,3)

instruction MID(Chaine, Position du caractère de départ, Nombre de
caractère)
Exemple Chaine=BONJOUR
MID("BONJOUR",3,2) = NJ
MID("BONJOUR",4,4) = JOUR
MID("BONJOUR",1,3) = BON

@+ Lolote


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

Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value, ?)
TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys



Avatar
Hervé
re

sinon , pour coller au mieux à ta question :

TextBox2.Value = Mid(ActiveCell.Offset(0, 12).Value, 5, 3)

re
Avatar
papou
Bonjour
Pour renvoyer le 456, si toujours à la même position :
Mid(ActiveCell.Offset(0, 12), 5, 3)

Cordialement
Pascal

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

Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value, ?)
TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys



Avatar
Jacky
Bonjour,
Left Right ........Mid
Ou encore:
TextBox2.Value =Mid(ActiveCell.Offset(0, 12).Value, 5, 3)

Salutations
JJ

"Denys" a écrit dans le message de
news:
Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value,
?)

TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys



Avatar
Denys
Bonjour Hervé,

Mid... je ne la connaissais pas celle-là !!! Merci infiniment, tu me sauves
beaucoup de temps.....

Bonne journée

Denys


re

sinon , pour coller au mieux à ta question :

TextBox2.Value = Mid(ActiveCell.Offset(0, 12).Value, 5, 3)

re


Avatar
JLuc
*Bonjour Denys*,
Quand tu ecris une macro, evite le plus souvent possible les Activecell
prefere les :
Range("A1").Offset(0, 12) ou Cells(1, 1).Offset(0, 12)
Car si tu as deplacer la cellule active entre temps, tu ne saura pas
quelle donnee va etre copier. Si tu selectionne la cellule par :
Range("C25").Select, evite aussi car ca ralenti un peu le code pour une
petite macro, par contre pour une macro un peu cossu, ca se ressent
nettement


Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value, ?)
TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Denys
Bonjour Lolote, Papou, Jacky et Jean-Luc

Merci beaucoup pour vos bons conseils... Je les retiendrai...

Bonne journée

Denys


*Bonjour Denys*,
Quand tu ecris une macro, evite le plus souvent possible les Activecell
prefere les :
Range("A1").Offset(0, 12) ou Cells(1, 1).Offset(0, 12)
Car si tu as deplacer la cellule active entre temps, tu ne saura pas
quelle donnee va etre copier. Si tu selectionne la cellule par :
Range("C25").Select, evite aussi car ca ralenti un peu le code pour une
petite macro, par contre pour une macro un peu cossu, ca se ressent
nettement


Bonjour à tous,

En cellule M3 j'ai ce qui suit: 123-456-789

À l'initialisation de mon Userform, je veux aller chercher 456 dans
textbox2...

TextBox1.Value = Left(ActiveCell.Offset(0, 12).Value, 3)
TextBox2.Value = Left ou bedon Right(ActiveCell.Offset(0, 12).Value, ?)
TextBox3.Value = Right(ActiveCell.Offset(0, 12).Value, 3)

Auriez-vous une petite idée?

Merci

Denys


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O