séparation de texte dans plusieurs cellules

S

seb

Guest
salut tout le monde,

j'ai un texte dans une cellule, je desirerais le couper et le dispatcher dans plusieurs cellules.

Dans le fichier joint, j'ai mis mon texte de depart et ce à quoi j'aimerais arriver.
le seul repere qui sera commun aux texte à dispatcher sera une virgule situe un caractere avant la fin de chaque texte. De plus chaque texte peut comporté des espaces (ce serait trop facile sinon !!)

ex:
cellule1=texte 1,x texte 2,x texte 3,x

but rechercher:
cellule1=texte 1,x
cellule2=texte 2,x
cellule3=texte 3,x

Biensur je souhaiterais que le tout soit fait dans une macro pour rendre ces "bidouilles" invisibles

merci d'avance à ceux qui vont me répondre
 

Pièces jointes

  • exemple.zip
    1.4 KB · Affichages: 68
  • exemple.zip
    1.4 KB · Affichages: 73
  • exemple.zip
    1.4 KB · Affichages: 68
@

@+Thierry

Guest
Re C@thy, re le Fil, le Forum

Ce n'est pas tant sur le type de Variable que je voulais attirer ton attention c'est surtout sur la Syntax, car tu as commis une erreur que je vois quotidiennement car si d'autres languages peuvent assimiler ce genre de déclaration, pas VBA.
Dans certains cas les facilités de VBA finissent par faire l'inverse de ce qu'on escompte...

Cette Syntax est dangereuse : !!!
Dim Toto, Zaza, Lulu, Lolo As Byte

Pour VBA çà veut exactement dire :
Dim Toto As Variant Zaza As Variant, Lulu As Variant, Lolo As Byte

Et absolument pas ce que le User pense et croit avoir déclaré :
Dim Toto As Byte, Zaza As Byte, Lulu As Byte, Lolo As Byte

Voilà, je pense que c'est une erreur que l'on peut éviter facilement, j'avais déjà repris pas mal de fois des gens sur ceci (hein Vériland), mais le temps passe...Et comme on revoit assez souvent ce genre de Syntax on prend çà pour du bon pain, mais je vous l'affirme c'est faux.

Bon Aprèm
@+Thierry
 
S

seb

Guest
okokokok
split semble plus pratique que mon programme.............

par contre pour les version d'Excel... probleme ou pas ???
je developpe sous Excel2000 et ma macro risque d'etre exportée sous 97....
quelqu'un à une idée.... j'aimerais savoir si ca risque de marché ou pas en gros.........
sinon je BOSSE pour rien....... snif snif...
AU SECOURS AU SECOURS

en tous cas merci encore pour les infos et le temps passé sur les réponses
 
C

C@thy

Guest
Merci mille fois Thierry, je ne savais pas.

Ta nouvelle macro met le x dans la colonne suivante, d'où 4 colonnes, la dernière avec le x tout seul.

Biz

C@thy
BipBip.gif
 
S

seb

Guest
ouais, c'est vrai (bienvue c@thy)
@+Thierry : tu as oublié le decalage après la virgule....

pour les declarations, si on ne les fait pas et que l'on utilise directement le nom d'une variable (non declarée) dans une macro c'est par defaut une variable de type Variant Vrai ou Faux ???

kiss
 
@

@+Thierry

Guest
Salut Seb, re C@Thy

Pour Seb je te conseille de bien lire mon post de 14:47... Non ? avant de crier au secours !! lol

Pour Cathy, je ne comprends pas bien ? c'est quoi ces "x", je n'ai pas le droit de télécharger des fichiers depuis le bureau, donc je ne sais pas ce qu'il y a dans le fichier de Seb, mais j'ai vu que vous cherchiez la "," (virgule) comme séparateur, non ?

Si c'est un "x" soit paramétrer le Split comme suit :
Container = Split(Phrase, Chr(120), , 1)

Soit comme ceci
Container = Split(Phrase, "x")

La première méthode, signifie avec le 1 en fin, que l'on paramètre l'option CompareText pour une comparaison Minuscule/Majuscule...

Mais de toute manière si Seb lit mon post comme je lui conseille il laissera tomber cette méthode Split, donc c'est juste pour vous faire connaître...

Bon Aprèm
@+Thierry
 
S

seb

Guest
re-thierry,

en fait, le separateur n'est pas la virgule mais elle sert de repere!
si tu avais lu mon post de 11:43... hihi lol

en fait la coupure s'effectue un caractere apres la virgule... d'ou le +1

ex:
cellule1=texte 1,x texte 2,x texte 3,x

but rechercher:
cellule1=texte 1,x
cellule2=texte 2,x
cellule3=texte 3,x

ps: j'avais pas tres bien lu ton post, dsl.
et heureusement pour moi je n'ai pas laissé ma methode pour split...

@+
 
@

@+Thierry

Guest
Re Seb, le Fil

Pour les Déclaration de Variable, je suis intransigeant comme Ti !!!

Option Explicit

En haut de chaque module !!!

Voumfrez 100 lignes Mister Seb !!!

Option ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption Explicit

LOL

Non, même si vous pataugez dans les types de variable faite toujours ceci :

Option Explicit
Sub TheBigMacro
Dim Toto
Toto = ActiveCell.Value
MsgBox Toto
End Sub

Ici Toto est déclaré as Variant, tampi, le code fonctionnera... mais avec l'habitude tu essaieras de
Dim Toto As String...

Mais si tu n'as pas mis Option Explicit et bien tu pourras faire ceci
Sub TheBigMacro
Dim Toto
Toto = ActiveCell.Value
MsgBox Totto
End Sub

Tu n'auras pas d'erreur, mais avant que ton message contienne quelque chose tu risques de passer des heures !!! (sur un long code of course)

Bon Aprèm
@+Thierry
 
S

seb

Guest
re-tous,

pour mes questions sur les declarations.................

je sais que je dis que des conneries mais,(désolé d'avance)
pourquoi s'obliger aux declarations par "option explicit"
est ce necessaire meme lors de simple petit programme ???

merci

seb
 
@

@+Thierry

Guest
Re Seb

Ah tu veux conserver le séparateur je n'avais pas percuté (et mal lu aussi !), ah c'est donc pas l'idéal Split alors !! (car il "mange" le séparateur !! lol)

Donc oui tampi pour Split surtout pour Excel 97 en plus...

Enfin je ne suis pas venu pour rien pour les Variables en tout cas, bande de petits canailloux variants !!! lol

Bon Aprèm
@+Thierry
 
C

C@thy

Guest
Hi hi hi, je le savais que tu allais te faire gronder, je t'avais prévenu!!! Et en plus ils ont raison!!! Gasp!!! Et maintenant t'as une punition!! 100 lignes!!!
Avec un for i (déclaré en byte!) = 1 to 100, tu devrais t'en sortir

C'est pour ça, depuis je mets toujours option explicit, mais je patine un peu dans les types, comme tu as vu! Heureusement SuperThierry vient à mon secours. Non, Thierry, tu n'es pas venu pour rien, tu as fait deux heureux d'un coup.

C@thy
BipBip.gif
 
S

seb

Guest
ok merci à tous pour cette recherche

mais j'ai encore pas mal de souci avec les variables....
il reste du boulot........

Option ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption Option ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption ........................Option ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption Option ExplicitOption ExplicitOption ExplicitOption ExplicitOption ExplicitOption

lol

@+
 

Discussions similaires

Réponses
36
Affichages
2 K

Statistiques des forums

Discussions
314 190
Messages
2 106 988
Membres
109 733
dernier inscrit
chardou