Problème avec Split VBA ACCESS [Résolu]

mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 4 juin 2009 à 11:40 - Dernière réponse : mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention
- 4 juin 2009 à 17:03
Bonjour tout le monde,

Ce post vient à la suite du premier, en fait la chaîne que je récupère à partir du fichier est trsè dense. Et j'ai besoin de couper cette chaîne avec Split pour récupérer certains éléments précis.
Le problème c'est que quand je fais Split, eh bah ça fait rien du tout, je n'ai mm pas de message d'erreur du style, dépassement de capacité....

Une idée?
voici le code! merci!

Sub test()
Dim fp As Integer
Dim fichier, fic, monTab(), machaine(), chemin As String
fic = ""
chemin = "C:\...\relation.txt"
On Error Resume Next
fp = FreeFile

Open chemin For Input As #fp
While Not EOF(fp)
Line Input #fp, fichier
fic = fic & fichier
Wend
Close #fp

monTab = Split(fic, "<") 'Split(fic, "detailler(")
MsgBox monTab(1)
machaine = Split(Mid(monTab(1), 1), "'")
MsgBox machaine(0)
End Sub

quand je fais MsgBox de monTab(1), il n'ya rien qui s'affcihe la message box n'apparaît même pas!

Merci d'avance à tous!
Afficher la suite 

5 réponses

Répondre au sujet
r1r2 22 Messages postés mardi 23 janvier 2007Date d'inscription 31 mars 2010 Dernière intervention - 4 juin 2009 à 16:08
+3
Utile
Vu tes déclarations de variables : Dim fichier, fic, monTab(), machaine(), chemin As String

Seule chemin est String, les autres sont Variant !
Il faut donc mettre : Dim fichier As String, fic As String, monTab() As String, machaine() As String, chemin As String
(surtout monTab() et machaine()) et ça devrait passer.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de r1r2
r1r2 22 Messages postés mardi 23 janvier 2007Date d'inscription 31 mars 2010 Dernière intervention - 4 juin 2009 à 12:09
0
Utile
Bonjour,


Si la message box ne s'affiche pas, c'est probablement que ce qu'elle doit afficher (monTab(1)) n'existe pas.

Pour savoir pourquoi, il faut tout d'abord enlever le On Error Resume Next qui masque probablement une erreur (problème d'accès au fichier, ...).
Commenter la réponse de r1r2
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 4 juin 2009 à 12:24
0
Utile
tout à fait d'accord, surtout avec une chaine comme 
chemin = "C:\...\relation.txt"
Commenter la réponse de PCPT
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 4 juin 2009 à 15:39
0
Utile
Re!
Désolée de répondre maintenant, je suis en stage, et j'ai un autre problème à élucider en même temps!

Donc déjà merci PCPT et r1r2 pour vos réponse.
Alors PCPT pour te répondre, je n'ai pas voulu mettre le vrai chemin du fichier par soucis de confidentialité c'est tout, tinkiet pas, le chemin n'est pas "C:\...\relation.txt". je suis d'accord avec toi, ça aurai été bizarre...

Sinon r1r2, j'ai fait ce que tu m'a dit j'ai enlevé le On Error Resume Next et maintenant j'ai une erreur au niveau du Split qui me dit:
"erreur 13, incompatibilité de type"

Bizarre, j'ai vérifié, fic n'est pas vide, il contient bien ce qu'il y a dans le fichier relation.txt, et fic est bien un string donc comprends pas....

une idée?

Meric beaucoup!
Commenter la réponse de mmmxtina
mmmxtina 67 Messages postés mardi 26 mai 2009Date d'inscription 9 avril 2013 Dernière intervention - 4 juin 2009 à 17:03
0
Utile
Re,
en effet c'était ça!!!!
Je m'en suis rendu compte assez tardivement et c'était bien mes déclarations le problème!!
J'était en train de faire des tests puis autre chose, donc c'est pour ça que je répond que maintenant!

Merci beaucoup r1r2!!
bonne journée à toi!
Commenter la réponse de mmmxtina

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.