IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Ajouter deux espaces en début de ligne d'un fichier txt [Débutant]


Sujet :

MATLAB

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut Ajouter deux espaces en début de ligne d'un fichier txt
    bonjour

    j'ai un fichier texte de valeurs où je souhaiterais ajouter à chaque début de ligne, deux espaces, afin de pouvoir ensuite séparer ce fichier tous les trois caractères afin d'isoler correctement mes valeurs (nombreuses sont accollées)

    ça à l'air un peu tiré par les cheveux mais j'ai vérifié dans un tableaux excel c'est la solution la plus simple

    merci par avance

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    je vous transmets une partie du fichier texte qui fait 1980 lignes, où il faut ajouter deux espaces à chaque début de ligne

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    10 10 10 12 11 10999999999  9 10  9  9 10 11  8999999999  6  7  6  9  9  9
     
    7999999  3  5  7  9  9  9 10  9  7  4  7  6  6  6  7  7  9  7  6  8  7  6
     
    6  5  6  6  6  5  4  7 11 10  9  9 10 12  9 10999999999 12 12 12 12 11 11
     
    9999999999 13 14 14 15 16 16 17999999 18 16 16 17 19 20 18 16999999 13 11
     
    13 15 17 18 18 15 16 15 16 17 16 14 12 13 10  8  7  8  8  8 12  9 10 10  8
     
    9 10  8  7  9 10 10 10 11 10  6999999  7  8  8  9  9  9 11999999999  8  8
     
    10 10 10  9 10999999999  9 10 11  9  9 10 10999999999  9  9  7  7  7  8  5
     
    6  4  8  9  7  8  7  6  3  4  5  5  5  4  5  6  5  8  9  6999999 10 11  8
     
    5  8  7  8  6  6999999  9  8  8  9  7  8  8999999999  9  8  8  8 10 12 12
     
    10 10 10 11 10  9  7999999  9  8  8 10 10  9  9  6999999  7  7  9 10 10  9
     
    9999999999  6  8  8  9  9  9  9999999999  6  9  9  9  9  9 10999999999  7
     
    7  8 10 10 10  9999999999  8  9  9 10 10  9  7999999999  6  6 10  8  8  8
     
    7999999  4  5  6  5  9  9  9 10  6  5  6  6  8  6  6  9  9  9  5  5  6  5
     
    4  6  5  5  7  8  9  5  8 10  9  9 10 10  9  7999999 11  9 10 11 11 10 11
     
    11999999 11 11 11 14 13 13 15 14999999 18 17 18 17 20 20 18 17999999 13 15
     
    14 17 18 17 17 20 19 18 17 19 17 16 16 16 15 10  8  6  8 10 11  8  8  7  8
     
    10 10  7  7  7  8  8  9  8  8999999999  6  7  9 10 10 11 11999999999  7  7
     
    8  8 10  9  8999999999  6 11  9  9 10  9  8999999999  9  7  5  7  7  9  5
     
    5  5  8  7  7 10  5  5  4  5  6  4  5  7  5  8  9 10  8  6999999  6  5  5
     
    7  8  8  5  8999999 11  9  9  8 10 10  9  7999999  9  8  6  9 10 10 10  9
     
    7 10 10  9 10 10  7999999  8  6  7  8  7  8  9999999999  5  7  7  7  9  9
     
    9  8999999  5  6  8  8  9  9  9999999999  8  8  8  8  9 10 10999999999  7
     
    7  8  8  9  9  7999999999  7  7  8  9  9  8  8999999  5  5  5  6  7  7  8
     
    6999999  6  4  7  5  8  8  9  8  4  5  5  6  5  5  5  8  7  7  5  4  5  3
     
    4  4  6  5  6  4999999 10  9  9  8  7  7  8  7999999  8  8  9  9  9  8  9
     
    9999999 11 11 12 14 13 12 15 16999999 18 16 18 18 21 18 20 18999999 15 15

    je pense utiliser textscan ensuite pour séparer mes valeurs.

    merci par avance

    bonne journée

  3. #3
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Ne peux-tu pas t'inspirer de ton autre post [DEBUTANT] comment ajouter un espace à une ligne et concaténation pour le faire.
    C'est exactement la même idée

  4. #4
    Membre éprouvé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Points : 1 256
    Points
    1 256
    Par défaut
    salut,

    Si c'est le même fichier texte que dans ton poste : Sauvegarde de fichier pour être lue avec textread . Tu peux directement mettre les espaces à l'enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fid = fopen('TEMPO.txt','w');
    for i=1:length(M)
        fprintf(fid,'  %s\n',M{i});  % il y a deux espace avant %s 
    end
    fclose(fid);
    ++

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    merci pour le réponse ça marche c'était tout simple en fait

    j'avais trouvé en passant par textscan, en lisant le résultat avec une boucle, en concaténant ensuite chaque ligne avec deux espaces et enfin en sauvegardant en format texte...

    merci pour l'aide c'est beaucoup plus simple

    bonne journée

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    j'ai une question du même concernant mon fichier

    je me apperçu que pour qu'ils soit bien défini dans sa structure, il me faut un espace en début de ligne si le premier chiffre est pair et un deux espaces si le chiffre est impair

    je pense que le mieux est de le sauvegarder avec un seul espace et ensuite de rajouter cet espace en trouvant d'abord les lignes qui commencent avec un chiffre impair

    si quelqu'un à une idée

    pour trouver si le premier chiffre est impair c'est code diff(find([' ',ligne]==32))-1

    aprés je pense qu'il faut faire une condition avec un if

    je vais m'y mettre si quelqu'un a idée je suis preneur

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    en parlant de pair et de impair je signifiais le nombre de carctère du premier chiffre

    impair pour 1 à 9
    pair pour 10 à 99
    et ainsi de suite....

    merci

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    bonjour

    j'ai tapé un debut de code pour ajouter mon espace ou deux espaces à chaque début de ligne de mon fichier

    or j'ai un souci de syntaxe qui me bloque

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     fichier= 'F1.txt';
     
    %ouverture du fichier, lecture du fichier
     
    fid=fopen(fichier);
     
    B=textscan(fid,'%s','delimiter','');
     
    fclose(fid);
     
    L=length(B{1})
     
    for k=1:L
     
    ligne=B{1}{k}
     
    C=diff(find([' ',ligne]==32))-1  %comptage des caractères
     
    nb=C(1)              %trouver le nombre de caractères de la première valeur
     
    a=1:3:75             % 1ère possibilité de nombre de caractères
     
    b=2:3:75             % 2ème possibilité
     
    for i=1:25         %boucle pour le nombre de caractères
     
        if nb = a(i)    %1ère expression logique
     
       ligne=['  ',ligne] %si oui
     
        elseif nb = b(i) %2 ème expression logique
     
        ligne=[' ',ligne] %si oui
     
        else       % si 1ère et 2ème expression non trouvée
     
        ligne = ligne
     
        end
     
    end
     
    end
    il m'indique une erreur pour mes nb=a(i) et nb=b(i)

    si quelqu'un a une idée merci

    bonne journée

    pour les balises j'y suis arrivé au début mais là ça bug

  9. #9
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Pour la comparaison il faut 2 fois le signe = :Conseil :Quand tu as un message d'erreur c'est bien de le mettre en entier.

  10. #10
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    en fait ça marche pas du tout ce bout de code que j'ai fait

    je vais essayer autre chose

  11. #11
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    j'ai réussi à trouver comment obtenir mes espaces (1 ou 2 ou non) à chaque début de ligne

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    for k=1:L,
     
    B{1}{k}
     
    Comptage=diff(find([' ',B{1}{k}]==32))-1;  %comptage des caractères
     
    nb=Comptage(1)              %trouver le nombre de caractère de la première valeur
     
    a=1:3:75             % 1ère possibilité de nombre de caractères
     
    b=2:3:75             % 2ème possibilité 
     
    cp=nb==a
     
    cp1=nb==b
     
    for i=1:25          %boucle des indices
     
             if cp(i)==1   %1ère expression logique
     
       B{1}{k}=['  ',B{1}{k}] %si oui
     
     
     
             elseif cp1(i)==1 %2 ème expression logique
     
       B{1}{k} =[' ',B{1}{k}] %si oui
     
     
     
             else       % si 1ère et 2ème expression non trouvée
     
       B{1}{k} = B{1}{k}  
     
             end
     
    end
     
    end
    par contre comment sauvegarder ça en fichier txt en conservant la forme avec mes espaces

    j'ai tapé de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fid = fopen('B.txt','w');
     
    for n=1:length(B)
     
        fprintf(fid,'%s\n',B{n});
     
    end
     
    fclose(fid)
    mais j'ai le message d'erreur suivant

    ??? Error using ==> fprintf

    Function is not defined for 'cell' inputs.


    Error in ==> espace at 33

    fprintf(fid,'%s\n',B{n});
    merci pour les renseignements

    bonne journée

  12. #12
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Regarde mieux ta variable B.
    Ce n'est pas sur B que tu dois boucler mais sur B{1} donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for k=1:length(B{1})
       fprintf(fid,'%s\n',B{1}{k});
    end

  13. #13
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    merci ça marche parfaitement pour un petit fichier texte à lire mais sur un grand non je comprend pas j'ai un message d'erreur

    ??? Attempted to access Comptage(1); index out of bounds because numel(Comptage)=0.



    Error in ==> LE at 38

    nb=Comptage(1) %trouver le nombre de caractère de la première valeur


    sur un fichier texte de 20 lignes ça marche mais pour celui de 1980 ça bloque j'ai ce message donc je n'ai pas la dernière sauvegarde

    je mets la fin du code

    code:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    fichier= 'F1.txt';
     
    %ouverture du fichier, lecture du fichier
     
    fid=fopen(fichier);
     
    B=textscan(fid,'%s','delimiter','');
     
    fclose(fid);
     
    L=length(B{1});
     
    for k=1:L,
     
    B{1}{k};
     
    Comptage=diff(find([' ',B{1}{k}]==32))-1;  %comptage des caractères
     
    nb=Comptage(1)  ;            %trouver le nombre de caractère de la première valeur
     
    a=1:3:75             % 1ère possibilité de nombre de caractères
     
    b=2:3:75             % 2ème possibilité 
     
    cp=nb==a
     
    cp1=nb==b
     
    for i=1:25          %boucle des indices
     
             if cp(i)==1  ; %1ère expression logique si un indice = 1 alors c vrai
     
       B{1}{k}=['  ',B{1}{k}]; %si oui
     
     
     
             elseif cp1(i)==1 ;%2 ème expression logique si un indice = 1 alors c vrai
     
       B{1}{k} =[' ',B{1}{k}]; %si oui
     
     
     
             else       % si 1ère et 2ème expression non trouvée
     
       B{1}{k} = B{1}{k}  ;
     
             end
     
    end
     
    end
     
     
     
    fid = fopen('B.txt','w');
     
    for j=1:length(B{1});
     
      fprintf(fid,'%s\n',B{1}{j});
     
    end
     
    fclose(fid)
    l'erreur est à la ligne nb=comptage(1)


    un grand merci pour votre aide

  14. #14
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Ce n'est pas un problème de taille de fichier.
    Merci de chercher un peu dans la
    Attempted to access variable(n); index out of bounds because numel(variable)=(n-1).

    Même si le message est clair : Comptage est vie : cela veut dire qu'il est égal à [], donc Comptage(1) n'existe pas.

    C'est tout simplement que dans ton fichier tu as une ligne sans aucun caractère.
    A toi maintenant de gérer ce cas spécifique : voir la fonction ISEMPTY.

  15. #15
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    j'ai trouvé l'erreur elle intervient dans la sauvegarde de mon premier fichier, en il y a pas de caractères à la dernière ligne il fait donc 1981 lignes en format txt

    je vais essayer de me débrouiller merci pour les renseignements

  16. #16
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    j'ai trouvé l'erreur

    elle provient de ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    %%%____SAUVEGARDE DU RESULTAT AU FORMAT TEXTE____%%%
     
    fid = fopen('F1.txt','w');
     
    for i=1:length(F1)
     
        fprintf(fid,'%s\n',F1{i})
    comment lui dire à la derniere ligne de lecture de pas revenir a la ligne

    merci

  17. #17
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    fid = fopen('F1.txt','wt');
    for i=1:length(F1)-1
        fprintf(fid,'%s\n',F1{i})
    end
    fprintf(fid,'%s',F1{end});
    Je t'encourage aussi à utiliser l'option 't' dans fopen quand tu écris ou lis du texte, ça évite les problèmes quand tu changes de plate-forme.

  18. #18
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    merci pour le réponse ça me permet d'avoir un fichier sans la dernière ligne inutile mais par contre j'ai toujours le message d'erreur

    ??? Attempted to access Comptage(1); index out of bounds because numel(Comptage)=0.



    Error in ==> programme at 39

    nb=Comptage(1) %trouver le nombre de caractère de la première valeur
    donc j'ai toujours une ligne ou il y a rien c'est pas normal toutes mes lignes sont complètes

    voilà le code en entier

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    clear all;
     
    close all;
     
    %%%____LECTURE DU FICHIER____%%%
     
    F = textread('200401.txt','%s','delimiter','\n','headerlines',3);
     
     
     
    %%%____SUPPRESSION DE LA LIGNE LATITUDE POUR OBTENIR MATRICE CARREE____%%% 
     
    i=0
     
    for k=1:12:2160 ;
     
        A=F(k:k+10,:);
     
        h=k-i;
     
        F1(h:h+10,:)=A;
     
        i=i+1;
     
        clear A;
     
    end
     
    %%%____SAUVEGARDE DU RESULTAT AU FORMAT TEXTE____%%%
     
    fid = fopen('F1.txt','wt');
     
    for i=1:length(F1)-1;
     
        fprintf(fid,'%s\n',F1{i});
     
    end
     
    fprintf(fid,'%s',F1{end});
     
    fclose(fid);
     
     
     
    %%%____LECTURE DU FICHIER ET AJOUT DES ESPACES____%%%
     
    fichier= 'F1.txt';
     
     
     
    %ouverture du fichier, lecture du fichier
     
    fid=fopen(fichier);
     
    B=textscan(fid,'%s','delimiter','\n');
     
    fclose(fid);
     
     
     
    L=length(B{1});  %taille de B
     
     
     
    %ajout des espaces
     
    for k=1:L,
     
    B{1}{k};
     
    Comptage=diff(find([' ',B{1}{k}]==32))-1;  %comptage des caractères
     
    nb=Comptage(1)              %trouver le nombre de caractère de la première valeur
     
    a=1:3:75             % 1ère possibilité de nombre de caractères
     
    b=2:3:75             % 2ème possibilité 
     
    cp=nb==a
     
    cp1=nb==b
     
        for i=1:25 ;         %boucle des indices
     
             if cp(i)==1 ;  %1ère expression logique si un indice = 1 alors c vrai
     
                B{1}{k}=['  ',B{1}{k}] ;%si oui
     
     
     
             elseif cp1(i)==1 %2 ème expression logique si un indice = 1 alors c vrai
     
                    B{1}{k} =[' ',B{1}{k}] ;%si oui
     
     
     
             else       % si 1ère et 2ème expression non trouvée
     
                    B{1}{k} = B{1}{k}  ;
     
             end
     
        end
     
    end
     
     
     
    %sauvegarde du fichier avec les espaces
     
    fid = fopen('E.txt','wt');
     
    for j=1:length(B{1});
     
      fprintf(fid,'%s\n',B{1}{j});
     
    end
     
    fclose(fid);
     
     
     
    %%%____CREATION DE LA MATRICE___%%%
     
    %str2mat
     
     
     
    %%%____IMPORTATION DU BLOC____%%%
     
    %dlmread
     
     
     
    %%%____AFFICHAGE DE L'IMAGE____%%%
     
    %figure
     
    %imagesc(B)
     
    %axis image
    et le fichier texte à traiter en zip
    fichier texte.zip

    merci pour le coup de main

  19. #19
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Un peu de débuggage te permettrait d'être sur de ce que tu avances.
    Soit tu utilises le débugger intégré dans l'éditeur MATLAB (qui est très bien).
    Soit tu affiches la valeur qui t'intéresses : en l'occurence B{1}{k} et Comptage. Enfin tu ne verras rien puisque quand ça va planter ces 2 valeurs seront vides...
    Donc encore mieux utilise la fonction ISEMPTY comme je te l'ai déjà conseillé.
    Et essayes de savoir pour quelle valeur de k le problème se produit, tu auras alors ton n° de ligne.

  20. #20
    Débutant
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 193
    Points : 58
    Points
    58
    Par défaut
    j'ai trouvé d'où provenait les erreurs, en fait quand il y avait 75 neufs accollés il ne comptait pas le nombre de caractères car il y avait pas d'espace pour les compter donc j'ai rajouté un espace à chaque fin de ligne

    c'est tiré par les cheveux mais ça marche

    merci pour votre patience et votre aide precieuse je continue le programme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter un caractère en début de ligne dans un fichier
    Par morpheusmg dans le forum Débuter
    Réponses: 10
    Dernier message: 31/05/2011, 23h08
  2. Ajouter un espace et sauter une ligne
    Par cricri77200 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 03/06/2010, 17h42
  3. [RegEx] Ajouter un caractère à chaque début de ligne
    Par supertino7 dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2009, 20h12
  4. Fichier txt/Import espace de début de ligne
    Par procyom dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/06/2008, 10h23
  5. Regexp de suppression d'espaces en début de ligne
    Par batmatm dans le forum Langage
    Réponses: 4
    Dernier message: 20/10/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo