OVH Cloud OVH Cloud

Dé......concatener

4 réponses
Avatar
Denys
Bonjour =E0 tous,

Je sais qu'il est possible de concatener en VBA.... Mais=20
est-il possible de faire l'op=E9ration contraire?

Par exemple, je re=E7ois la valeur suivante dans une cellule

41,948.41 0003 08741

Est-il possible d'avoir ces nombre dans trois ellules=20
diff=E9rentes?

Merci beaucoup..

Denys

4 réponses

Avatar
Hervé
Salut Denys,
A partir d'Excel 2000 (InStrRev ne fonctionne que depuis VB6) :
Sub DeConcatener()
Dim Chaine As String
Dim Pos1 As Integer
Dim Pos2 As Integer

Chaine = "41,948.41 0003 08741"

Pos1 = InStr(Chaine, " ")
Pos2 = InStrRev(Chaine, " ")

'format texte espace inclus
'[A1] = "'" & Left(Chaine, Pos1 - 1)
'[A2] = "'" & Mid(Chaine, Pos1, Pos2 - Pos1)
'[A3] = "'" & Right(Chaine, Len(Chaine) - (Pos2 - 1))

'format nombre (les zéros et espaces
'sont supprimés)
[A1] = Left(Chaine, Pos1 - 1)
[A2] = Mid(Chaine, Pos1, Pos2 - Pos1)
[A3] = Right(Chaine, Len(Chaine) - Pos2)
End Sub

Hervé.

"Denys" a écrit dans le message news:
1c0701c352c6$8af35170$
Bonjour à tous,

Je sais qu'il est possible de concatener en VBA.... Mais
est-il possible de faire l'opération contraire?

Par exemple, je reçois la valeur suivante dans une cellule

41,948.41 0003 08741

Est-il possible d'avoir ces nombre dans trois ellules
différentes?

Merci beaucoup..

Denys
Avatar
Michel Pierron
Bonjour Denis;
Menu Données / Convertir / Délimité / Suivant / Séparateur: Cocher Espace et
ça devrait rouler.
Néanmoins, je me demande ce que fait le point dans le premier nombre.
MP

"Denys" a écrit dans le message de
news:1c0701c352c6$8af35170$
Bonjour à tous,

Je sais qu'il est possible de concatener en VBA.... Mais
est-il possible de faire l'opération contraire?

Par exemple, je reçois la valeur suivante dans une cellule

41,948.41 0003 08741

Est-il possible d'avoir ces nombre dans trois ellules
différentes?

Merci beaucoup..

Denys
Avatar
DanC
Le point

C'est du vieux québécois!

à l'école quand j'étais petite, le séparateur décimal était le ., puis le
séparateur de milliers était la virgule. AInsi 3 millions,
trois-cent-tre-trois mille trois cent trente-trois dollars et trente-trois
sous s'écrivait $3,333,333.33. Oui monsieur, madame, le $ en avant du nombre
à part ça!

C'est dans les années 70 que l'on s'est métrisé, mais pas nos voisins du
Sud, enconre que certains ne maitrisent (métrisent ;-)) pas le système
encore

Salutations

Danielle

"Michel Pierron" a écrit dans le message de
news:
Bonjour Denis;
Menu Données / Convertir / Délimité / Suivant / Séparateur: Cocher Espace
et

ça devrait rouler.
Néanmoins, je me demande ce que fait le point dans le premier nombre.
MP

"Denys" a écrit dans le message de
news:1c0701c352c6$8af35170$
Bonjour à tous,

Je sais qu'il est possible de concatener en VBA.... Mais
est-il possible de faire l'opération contraire?

Par exemple, je reçois la valeur suivante dans une cellule

41,948.41 0003 08741

Est-il possible d'avoir ces nombre dans trois ellules
différentes?

Merci beaucoup..

Denys




Avatar
Denys
Bonjour Hervé

Merci beaucoup. Je vais essayer cela tout de suite. Sauf
que dans la chaine, ce ne sera jamais les mêmes nombres...
Enfin, j'essaye et je te reviens...

Merci encore pour ton temps...

Denys


-----Original Message-----
Salut Denys,
A partir d'Excel 2000 (InStrRev ne fonctionne que depuis
VB6) :

Sub DeConcatener()
Dim Chaine As String
Dim Pos1 As Integer
Dim Pos2 As Integer

Chaine = "41,948.41 0003 08741"

Pos1 = InStr(Chaine, " ")
Pos2 = InStrRev(Chaine, " ")

'format texte espace inclus
'[A1] = "'" & Left(Chaine, Pos1 - 1)
'[A2] = "'" & Mid(Chaine, Pos1, Pos2 - Pos1)
'[A3] = "'" & Right(Chaine, Len(Chaine) - (Pos2 - 1))

'format nombre (les zéros et espaces
'sont supprimés)
[A1] = Left(Chaine, Pos1 - 1)
[A2] = Mid(Chaine, Pos1, Pos2 - Pos1)
[A3] = Right(Chaine, Len(Chaine) - Pos2)
End Sub

Hervé.

"Denys" a écrit dans le message
news:

1c0701c352c6$8af35170$
Bonjour à tous,

Je sais qu'il est possible de concatener en VBA.... Mais
est-il possible de faire l'opération contraire?

Par exemple, je reçois la valeur suivante dans une cellule

41,948.41 0003 08741

Est-il possible d'avoir ces nombre dans trois ellules
différentes?

Merci beaucoup..

Denys



.