Bonjour à toutes et tous,
J'ai un fichier qui comporte des cellules qui comprennent plusieurs éléments, séparés par des sauts de ligne, comme par exemple
Je souhaiterais récupérer chaque élément individuellement dans une liste, sans les heures affichées à côté. J'arrive à enlever les heures en remplaçant chaque chiffre, les deux points, et " /" par "" avec la fonction replace.Element 1 15:16/15:19
Element 2 /15:49
Element 3 15:59/16:02
Ensuite, j'ai écrit le code suivant :
Je sais bien qu'avec ce code, j'obtiendrai une erreur quand
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 dim Nblignes as Integer ' le fichier comporte environ 1000 lignes dim Traitement as String dim Compteur as Integer dim Liste(10000) as String Compteur = 1 Nblignes =1 do while cells(Nblignes,3).formula <> "" Traitement = cells(Nblignes,3).formula 'remplacement des heures 'ensuite, stockage de chaque élément : do while Traitement <>"" Liste(Compteur) = split(traitement, chr(10), 1)(0) Traitement = split(Traitement,chr(10),1)(1) Compteur = Compteur +1 Loop Nblignes=Nblignes+1 Loopn'existera pas, c'est à dire quand le dernier élément sera traité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part split(Traitement,chr(10),1)(1)
Mais le problème n'est pas là, du moins pour l'instant :
Les sauts de ligne ne sont pas reconnus avec chr(10) ni avec chr(13) si bien que de fait, on a :(et j'obtiens l'erreur dès la première occurrence du coup)
Code : Sélectionner tout - Visualiser dans une fenêtre à part split(Traitement, chr(10), 1)(0) = Traitement
En mode débogage, quand je pointe le curseur sur le nom de la variable pour faire apparaître sa valeur, il m'affiche des rectangles vides pour les sauts de ligne. J'ai essayé d'utiliser Value au lieu de Formula, mais a priori, ça ne change rien.
Sauriez-vous comment résoudre le problème ?
Partager