Séparer le texte d'une cellule en plusieurs..

Résolu/Fermé
fab1205 Messages postés 8 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008 - 16 sept. 2008 à 14:32
fab1205 Messages postés 8 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008 - 17 sept. 2008 à 15:31
Bonjour,

Tout d'abord je tiens à remercier ceux qui prennent le temps de répondre à des novices comme moi!!!

Je me trouve devant un problème qui me parait pratiquement insurmontable mais j'espère que l'un de vous aura une solution à me proposer!

Alors voilà j'ai plusieurs cellules qui se présentent comme ceci:

B1_TMSO0101_VE0101_FILAF01_ALM_00 AT %MX16.0 : BOOL; (*PCVUE;1;2;CVC;B1;TMSO0101.VE0101.FILAF01.ALM;L1 Panne Filtre AF;Défaut;Normal;1;0;1;13;;1;1;;;;;;;;;B1_TMSO0101_VE0101_FILAF01_ALM_00;;;;;;;;;;;;;*)

B1_TMSO0101_VE0101_SHUMR01_DER_00 AT %MX16.7 : BOOL; (*PCVUE;1;2;CVC;B1;TMSO0101.VE0101.SHUMR01.DER;L3 Derive humidité;Défaut;Normal;1;0;1;12;;1;1;;;;;;;;;B1_TMSO0101_VE0101_SHUMR01_DER_00;;;;;;;;;;;;;*)

(ce sont des variables venant d'un automate programmable) et il faudrait que je puisse par exemple copier B1_TMSO0101 dans une cellule, VE0101_FILAF01_ALM_00 dans une autre, %MX16.0 encore dans une autre,etc... ce qui fait qu'au final mon texte se retrouvera "éclaté" dans une vingtaine de cellules différentes. Mes textes étant de longueur variable suivant les cellules je suis bien embêté pour utiliser RIGHT ou LEFT et je ne sais pas s'il est possible pour la partie entre () de prendre le texte jusqu'au 1er ; puis entre le 1er; et le 2ème; etc.

Voilà je paie une bière à celui qui peut m'aider! (si ce n'est pas faisable merci de me le dire aussi, histoire que je passe pas 3 jours à chercher une solution qui n'existe pas)

6 réponses

Mike-31 Messages postés 18347 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 25 novembre 2024 5 104
17 sept. 2008 à 13:51
Salut,

Tous pareil ces collégues, il faut leur macher le boulot et sans bière en plus, même si on à soif !

En code VBA, pour séparer deux mots, tu as

Sub séparateur_De_Mots()
For L = 3 To 50 ' Application de la ligne 1 à la ligne 50
Mot1Mot2$ = Cells(L, "A") ' Colonne de référence, ici A
I = InStr(Mot1Mot2$, "_") ' recherche le symbole entre les mots qui peut être un intervalle " " etc
If I = 0 Then ' Si aucun symbole trouvé dans une cellule
Cells(L, "B") = Cells(L, "A") ' Reporte le mot en B
Else ' Si symbole entre mot
Cells(L, "B") = Left(Mot1Mot2$, I - 1) ' Premier mot isolé en B
Cells(L, "C") = Mid(Mot1Mot2$, I + 1) ' deuxième mot mot isolé en C
End If
Next
End Sub

A+
4
Mike-31 Messages postés 18347 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 25 novembre 2024 5 104
16 sept. 2008 à 15:50
Salut,

Prépare ta bière tous les intervenant du Forum sont de la fête

cliques sur ta cellule contenant ton texte et dans ta barre des menus fait données/convertir coche délimité dans la case Autre saisie le symbole de séparation qui dans ton cas est le trait sous le huit _ suivant et terminé.

Attention d'avoir à droite de ta cellule autant de cellules vides que de mots séparés.

Bien fraiche la bière

A+
_____________________________________________________________

Besoin d’aide. Auprès du forum, des bénévoles prennent le temps de décrypter vos explications parfois confuses, et proposent leur connaissance.
Solution trouvée, ayez la courtoisie de porter votre statut résolu. Afin que votre problème soit classé, et serve de référence pour d’autres cas similaires.
1
fab1205 Messages postés 8 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008
17 sept. 2008 à 08:12
Yes merci beaucoup, en fait je voulais une instruction sous VB pour le faire mais ton indice m'a permis de trouver la solution! Quand est-ce que tu viens sur Lausanne (Suisse) pour que je te paie ta bière? ;-)

Bonne journée
0
Mike-31 Messages postés 18347 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 25 novembre 2024 5 104
17 sept. 2008 à 11:40
Salut,

Si tu préfaires un code VBA pas de problème, mais la fonction convertir est plus souple d'utilisation.

Pour la bière envoies la par mail

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fab1205 Messages postés 8 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008
17 sept. 2008 à 11:58
Le truc c'est que je clique sur un bouton qui va me chercher toutes ces variables dans un fichier txt et qui va ensuite me les copier dans différentes feuilles, et évidemment l'objectif est de faire en sorte que tout se passe en un seul clic (hé ouais mes collègues sont fainéants...) Mais c'est bon mon truc fonctionne (surement pas très "esthétiques" au niveau prog mais au moins ça marche...)

Encore merci A+
0
fab1205 Messages postés 8 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 17 septembre 2008
17 sept. 2008 à 15:31
Ah...Effectivement...vu comme ça c'est vachement plus élégant que ce que j'ai fait!

C'est net je pense que je vais dresser un peu mes collègues pour qu'ils paient des bières pour service rendu à la communauté!

En tout cas j'te remercie encore pour ton aide et le temps que tu y as consacré.
0