j'ai utilisé votre code pour scinder un champs en 2 champs différents, en utilisant la fonction "fnFieldSplit" mais j'ai toujours un message d'erreur pointant sur la ligne sC1 = Trim(Left(RS(sFieldToSplit), Pos - 1)) et me disant "Argument ou appel de procédure incorrect"
je sèche surtout que je suis trés très débutante en vba. je compte sur votre aide car j'en ai vraiment besoin.
Réponse n° 1 -------- le 06/01/2013 : 17:27 par 3Stone
Administrateur
Bonjour,
Ton message d'erreur vient du fait que le séparateur renseigné (5e argument qui indique ou scinder le champ) n'existe pas réellement dans la table.
J'ai modifié légèrement la fonction pour que l'on puisse omettre ce cinquième paramètre. Dans ce cas, on scinde automatiquement sur le premier espace rencontré. Pour le cas ou on ne trouve pas le séparateur, l'ancien champ entier est copié dans le nouveau premier champ.
Cordialement,
Pierre(3stone)
Réponse n° 2 -------- le 07/01/2013 : 11:14 par samy
visiteur
Bonjour;merci beaucoup pour ta réponse, mais même avec ce code rectifié j'ai un message d'erreur "Utilisation incorrecte de Null" et le il me pointe sur la ligne "Pos = InStr(RS(sFieldToSplit), sSeparator)". je vous explique ma situation: j'ai une table qui contient une colonne qui s'appelle NOM SITE qui a comme donnée exemple: TC001 - Bordeau (donc deux données dans le même champ séparées avec un tiret)je veux mettre ces données dans 2 colonnes la première s'appelle N TC et qui contient TC001 et la deuxième s'appelle SITE et qui contient Bordeau j’espère que j'étais claire et merci d'avance pour ta précieuse aide.
Réponse n° 3 -------- le 07/01/2013 : 14:07 par 3Stone
Administrateur
Bonjour,
Citation :
j'ai un message d'erreur "Utilisation incorrecte de Null"
Certains des champs que tu souhaites scinder seraient vides ?
Edit: J'ai adapté le code pour permettre le cas des champs vides
Cordialement, Pierre(3stone)
.Rectifié par 3Stone le 07/01/2013 : 14:26
Réponse n° 4 -------- le 10/01/2013 : 14:37 par samy
visiteur
Bonjour; Finalement j'ai pu résoudre mon problème en mettant dans le code:fnFieldSplit "LaTable", "AncienChamp", "Champ1", "Champ2", "-"un tiret "-" au lieu de ";" Mais maintenant j'ai un autre problème c'est que je veux faire la même chose mais avec un champ qui ne contient pas de séparateurje m’explique j'ai un champ1 qui contiens ces informations: SAAB01 ; L03C20 ; ...etcje veux découper ce champ en deux: champ2 qui contient : SAA ; L03 ; ...etc et champ3 qui contient : B01 ; C20 ; ...etc mais comme il n'y a pas de séparateur dans la chaîne je n'ai pas su le faire et je compte beaucoup sur ton aide 3stone.Cordialement.
Réponse n° 5 -------- le 11/01/2013 : 00:26 par 3Stone
Administrateur
Bonjour,
Citation : samy
Finalement j'ai pu résoudre mon problème en mettant...
Tu rigoles, je suppose Bien sûr qu'il faut adapter le séparateur à ses besoins ! La syntaxe n'indique que la façon d'utiliser la fonction. Un exemple quoi...
Pour ton problème suivant, j'ai réadapté la fonction, mais n'oublie pas de lire comment l'utiliser