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

VBScript Discussion :

Suppression lignes et caractères sur chaque ligne


Sujet :

VBScript

  1. #1
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut Suppression lignes et caractères sur chaque ligne
    Bonjour à toutes et à tous,

    Désolé de déterrer ce topic vieux d'il y a 6 ans maintenant mais il s'avère qu'il m'a été bien utile pour résoudre un problème actuel (en partie en tous cas...).

    Je me permet cependant de faire appel aux grands développeurs VBS qui rodent par ici car je me suis laissé dire qu'on en trouvait de fort compétents.

    Voilà mon soucis :

    Je désire créer un script VBS permettant de supprimer les 8 premières lignes d'un fichier (c'est pour cette partie que les solutions données sur le topic m'ont bien aidées) mais aussi les 4 dernières lignes et enfin il me serait utile de supprimer les trois premiers caractères sur chacune des lignes restantes.

    Je ne sais pas vraiment comment m'y prendre pour la suppression des 4 dernières lignes du fichier dont le nombre total de lignes est variable...
    Et j’avoue être un peu perdu aussi pour la suppression des 3 premiers caractères de chaque ligne restante...
    Etant un illustre inculte en VB, j'aurais aimé avoir recours à votre expertise en la matière.

    Je remercies par avance tout développeur ayant la bonté d'âme et la générosité de me fournir un avis éclairé sur la question !


    Cordialement,

    YLK.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 127
    Par défaut
    Salut

    A vérifier, mais dans l'esprit
    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
    Const ForReading = 1
    Const ForWriting = 2
    Dim oFso , objFile, strContents, arrLines
    Dim I
    Dim NbrLgnTot, NbrLgnDeb, NbrLgnFin, NbrCaractere
     
    Set oFso = CreateObject("Scripting.FileSystemObject")
     
    Set oFso = wscript.CreateObject("Scripting.FileSystemObject")
    Set objFile = oFso.OpenTextFile("C:\temp\fichier_source.txt", ForReading)
    strContents = objFile.ReadAll
    objFile.Close
     
    arrLines = Split(strContents, vbCrLf)
    NbrLgnTot = UBound(arrLines)
    NbrLgnDeb = 8
    NbrLgnFin = 4
    NbrCaractere = 3
    NbrLgnTot = NbrLgnTot - NbrLgnFin
    Set objFile = oFso.CreateTextFile("C:\temp\fichier_destination.txt", ForWriting)
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
      arrLines(I) = Right(arrLines(I), Len(arrLines) - NbrCaractere)
      objFile.WriteLine arrLines(I)
    Next
    objFile.Close
     
    Set objFile = Nothing
    Set oFso = Nothing
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Cela marche très bien en remplaçant la ligne 22 par :

    arrLines(I) = Right(arrLines(I), Len(arrLines(I)) - NbrCaractere)
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  4. #4
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Merci de vos réponses rapides !

    Je confirme que ça marche nickel.
    J'ai juste modifié ça :

    NbrLgnDeb = 9
    NbrLgnFin = 3

    Car du coup il commençait à la ligne 8 alors qu'elle devait être supprimée et même chose pour la fin.
    Bon j'ai un mystérieux retour chariot sur la fin du fichier mais je pense pouvoir m'en contenter.

    Encore merci de vos compétences amis développeurs !

  5. #5
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Bon j'ai un mystérieux retour chariot sur la fin du fichier
    Il suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
      If arrLines(I) <> "" Then
         arrLines(I) = Right(arrLines(I), Len(arrLines(I)) - NbrCaractere)
         objFile.WriteLine arrLines(I)
      End If 
    Next
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  6. #6
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Merci de ce complément l_autodidacte, mais cela ne change rien...
    J'ai toujours une ligne vide en bas du fichier (que je n'ai d'ailleurs pas dans le fichier de départ).
    Si vraiment tu trouves d'où ça vient, je suis preneur mais sinon ne perds pas ton temps la-dessus, c'est un détail.

    Encore un grand merci de votre efficacité en tous les cas.

    Vous êtes des chefs !

  7. #7
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,
    La méthode WriteLine ajoute un saut le ligne (vbCrLf) à la fin de la ligne que tu écris.
    Si la ligne vide à la fin de ton fichier te gêne, tu peux utiliser la méthode Write qui fait la même chose sans rajouter de saut de ligne, et gérer toi même tes sauts de ligne.
    Exemple (non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
      If arrLines(I) <> "" Then
         arrLines(I) = Right(arrLines(I), Len(arrLines(I)) - NbrCaractere)
         If I < NbrLgnTot - 1 Then arrLines(I) = arrLines(I) & vbCrLf
         objFile.Write arrLines(I)
      End If 
    Next
    Bonne continuation.

  8. #8
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Bravo ! It works !

    Vous êtes géniaux.

    Par contre, juste pour info, ce serait compliqué d'ajouter une variable pour le nom du fichier source ?
    Je m'explique, en fait celui-ci n'est pas toujours nommé de la même façon... Par contre les trois premières lettres sont toujours "EBL" et l'extension ".txt".
    Je me demandais si on pouvais utiliser cette méthode quelque part :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CheckFiles(argPath,argFile,argExt)
    En définissant au préalable le chemin, les 3 premières lettres du nom et l'extension du fichier source.

    Merci d'avance.

  9. #9
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Ce nouveau besoin mériterait l'ouverture d'un nouveau sujet.
    Une piste (code non testé) :
    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
     
    Function GetSpecificFile(strParentFolderPath, strFileNameFirstChars, strFileExtension)
    	Dim objFso, objParentFolderPath, objTmpFile, strTmpFileName
    	Set objFso = CreateObject("Scripting.FileSystemObject")
    	GetSpecificFile = ""
    	If NOT objFso.FolderExists(strParentFolderPath) Then Exit Function
    	If StrComp(Left(strFileExtension, 1), ".") <> 0 Then strFileExtension = "." & strFileExtension
    	Set objParentFolderPath = objFso.GetFolder(objParentFolderPath)
    	For Each objTmpFile In objParentFolderPath.Files
    		strTmpFileName = objTmpFile.Name
    		If StrComp (Left(strTmpFileName, Len(strFileNameFirstChars)), strFileNameFirstChars, vbTextCompare) <> 0 _
    			And StrComp (Right(strTmpFileName, Len(strFileExtension)), strFileExtension, vbTextCompare) <> 0 Then _
    			GetSpecificFile = strTmpFileName & ";"
    	Next
    	If Len(GetSpecificFile) > 0 Then GetSpecificFile = Left(GetSpecificFile, Len(GetSpecificFile) -1)
    End Function 
     
    ' Utilisation
    Dim strArrFiles , strFilePath
    strArrFiles = GetSpecificFile("C:\Tmp\", "EBL", ".txt")
    For Each strFilePath In Split(strArrFiles, "|")
    	'Traitement du fichier
    Next
    Cette fonction peut être largement améliorée en tous points (gestion d'erreurs, affichages en cas mauvais paramètres, utilisation de regexp au lieu de comparaisons de chaines de caractères, etc.).

    Bonne continuation

  10. #10
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Merci beaucoup. Je vais m'appuyer la-dessus.

    Allez, j'ai effectivement classé le sujet comme résolu alors j'arrête de vous embêter.
    J'ouvrirai un autre topic au besoin.

    Encore un grand merci pour votre aide.

  11. #11
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Je me permets de ré-ouvrir le topic car j'aurais un petit ajout à faire sur ce même script et je ne sais pas comment m'y prendre...

    Tout d'abord voici son état actuel :

    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
    Const ForReading = 1
    Const ForWriting = 2
    Dim monTbl
    Dim monNomFic
    Dim monExtFic
    Dim monRep
    Dim I
    Dim oFso , objFile, strContents, arrLines
    Dim NbrLgnTot, NbrLgnDeb, NbrLgnFin, NbrCaractere
     
     
    ' Edition de la structure du fichier et création du fichier TXT :
     
     
    set objFSO = CreateObject("Scripting.FileSystemObject")
     
    monRep = "\\serveur\c$\windows\temp\maj"
    set objDossier=objFSO.GetFolder(monRep)
     
    for each objFichier in objDossier.Files
     
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set objFile = oFso.OpenTextFile(objFichier, ForReading)
    strContents = objFile.ReadAll
    objFile.Close
     
    arrLines = Split(strContents, vbCrLf)
    NbrLgnTot = UBound(arrLines)
    NbrLgnDeb = 9
    NbrLgnFin = 3
    NbrCaractere = 3
    NbrLgnTot = NbrLgnTot - NbrLgnFin
    Set objFile = oFso.CreateTextFile("\\serveur\c$\Windows\Temp\MAJ\FICHIER.txt", ForWriting)
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
      If arrLines(I) <> "" Then
         arrLines(I) = Right(arrLines(I), Len(arrLines(I)) - NbrCaractere)
         If I < NbrLgnTot - 1 Then arrLines(I) = arrLines(I) & vbCrLf
         objFile.Write arrLines(I)
      End If
    Next
    objFile.Close
    Next
    Je tiens à préciser qu'il fonctionne à merveille et je remercies encore les brillants participants à sa réalisation.

    Mais voilà, j'ai aujourd'hui le besoin d'ajouter une étape dans le remaniement du fichier.
    En effet, il faudrait qu'après avoir ôté les 3 premiers caractères de chaque ligne, j'ajoute un espace après le 5ème caractère de chaque ligne...
    Et là j’avoue que j'ai eu beau chercher la solution, je ne trouve pas. Et n'étant pas très doué en VBS, encore une fois, je m'en remets à vos lumières.

    J'espère que quelqu'un saura m'éclairer.
    Merci d'avance.

  12. #12
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Pour supprimer les 3 premiers caractères : maLigne=Mid(maLigne,4).
    (maLigne = Replace(maLigne,"EBL", "",1, 1, 1) devrait marcher).

    Pour insérer un espace après le 5ème caractère : Resultat = Left(maLigne, 5) & " " & Mid(maLigne,6).

    A toi d'adapter selon ton script.

    Bonne continuation
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  13. #13
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    A moi d'adapter...
    C'est là que le bât blesse...

    Moi et le VBS ça fait deux et je ne vois pas comment adapter ton bout de code à ce que j'ai déjà...
    Je comprends la logique de ce que tu as écrit mais pour l'insérer dans mon script, c'est autre chose.

    Je suis censé m'y prendre comment, siouplaît ?

    (Je précise aussi que le retrait des 3 premiers caractères de chaque ligne est déjà codé dans mon script. Seul l'ajout de l'espace me manque en fait. )

  14. #14
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,
    Voici une des possibilités pour la manipulation de chaine dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
    	strTmpLine = arrLines(I)
    	If (Trim(strTmpLine) <> "") AND (Len(strTmpLine) > 8) Then
    		strTmpLine = Right(Left(strTmpLine, 8), 5) & " " & Mid(strTmpLine, 9)
    		If I < NbrLgnTot - 1 Then strTmpLine = strTmpLine & vbCrLf
    		objFile.Write strTmpLine
    	End If
    Next
    Petite explication sur la manipulation effectuée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Right(Left(strTmpLine, 8), 5)
    --> Prend les 8 chars de gauche de ta chaine et ne garde que les 5 derniers (de droite)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     & " " & Mid(strTmpLine, 9)
    --> ajoute un espace et la fin de la chaine (à partir du char 9). [Merci à l_autodidacte pour cette technique, j'aurais fait comme cela avant : "Right(strTmpLine, Len(strTmpLine) - 8)"]

    Bonne continuation

  15. #15
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Impeccable !

    C'est exactement ça, ça marche du tonnerre.
    Je n'est qu'une seule chose à dire :
    Merci, vous êtes des demi-dieux.

    Je (re)tag en résolu.
    Encore merci et bonne continuation à vous.


  16. #16
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Je ré-ouvre à nouveau ce topic pour les plus téméraires d'entre vous.

    Voilà, la demande évolue et le script va donc devoir suivre lui aussi...

    En effet, il m'est demandé aujourd'hui, en plus du traitement du fichier, d'ajouter, pour chaque ligne du fichier, une ligne identique en-dessous à l'exception d'un code en début de ligne.
    Je m'explique :

    Actuellement le fichier obtenu (qui me convenait parfaitement) voyait les premières et dernières lignes supprimées et les 3 premiers caractère de chaque ligne retirés.
    Juste après cette opération, chaque ligne a la même structure et débute par un code de 5 chiffres (différent sur chaque ligne).

    Il me faut maintenant recopier chaque ligne et me servir du code à 5 chiffres en début de ligne pour créer une ligne identique dans le fichier où seul le code à 5 chiffres serait remplacé par un code prédéfini et totalement différent sur 6 chiffres.
    Pour faire la transcription des codes, je possède un tableau de correspondance à deux colonnes sous excel.

    En bref, j'aimerais récupérer le code en début de ligne, le retrouver dans le tableau de mon fichier excel pour récupérer sa correspondance dans une variable et créer ensuite un ligne identique (qui peut être en fin de fichier d'ailleurs) à l'exception du code.

    Problème... Je ne sais pas du tout comment m'y prendre...
    Un as du code saurait me pondre un bout de code pour faire ça svp ?

    Je vous remercies par avance de votre générosité.

    Le code du script tel qu'il est actuellement :

    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
    Const ForReading = 1
    Const ForWriting = 2
    Dim oFso , objFile, strContents, arrLines
    Dim I
    Dim NbrLgnTot, NbrLgnDeb, NbrLgnFin, NbrCaractere
     
    Set oFso = CreateObject("Scripting.FileSystemObject")
     
    Set oFso = wscript.CreateObject("Scripting.FileSystemObject")
    Set objFile = oFso.OpenTextFile("C:\Repertoire\TEST.txt", ForReading)
    strContents = objFile.ReadAll
    objFile.Close
     
    arrLines = Split(strContents, vbCrLf)
    NbrLgnTot = UBound(arrLines)
    NbrLgnDeb = 9
    NbrLgnFin = 3
    NbrCaractere = 3
    NbrLgnTot = NbrLgnTot - NbrLgnFin
    Set objFile = oFso.CreateTextFile("C:\Repertoire\RESULTEST.txt", ForWriting)
    For I = NbrLgnDeb - 1 To NbrLgnTot - 1
      If arrLines(I) <> "" Then
         arrLines(I) = Right(arrLines(I), Len(arrLines(I)) - NbrCaractere)
         If I < NbrLgnTot - 1 Then arrLines(I) = arrLines(I) & vbCrLf
         objFile.Write arrLines(I)
      End If 
    Next
    objFile.Close
     
    Set objFile = Nothing
    Set oFso = Nothing

  17. #17
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Parfois, quand il y a trop d'explications, on se perd et on ne saurait guère se faire comprendre.

    Dans le cas présent, un extrait du fichier à traiter et un exemple de ce que tu souhaites obtenir serait d'une grande clarté qu'on ne peut négocier.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  18. #18
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Comme une image vaut mille mots :

    Nom : 2015-06-26_10-31-11.png
Affichages : 939
Taille : 64,2 Ko

    Je ne saurais être plus clair...

    Juste une précision, les lignes à insérer n'ont pas nécessité de se trouver juste en dessous de la ligne "modèle", elles peuvent très bien être insérées à la suite en fin de fichier.
    L'image n'est qu'un exemple.

  19. #19
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Bonjour,

    ce serait peut-être plus simple de l'effectuer directement sous Excel …



    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  20. #20
    Membre averti
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2013
    Messages
    36
    Détails du profil
    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2013
    Messages : 36
    Par défaut
    Ou pas...

    Le script actuel fonctionne très bien et a donner pas mal de fil à retordre à ses concepteurs.
    Je me vois mal repartir à zéro via Excel. Sans compter que le fichier initial n'est pas formaté pour s'ouvrir sous Excel.

    Bref, à mon sens, ce serait plus complexe qu'autre chose.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Réponses: 10
    Dernier message: 02/09/2010, 09h19
  2. [Toutes versions] [débutant] condition sur une case par ligne, et action sur chaque ligne
    Par touille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/06/2010, 17h17
  3. Réponses: 13
    Dernier message: 20/11/2006, 17h46
  4. Réponses: 5
    Dernier message: 28/07/2006, 08h16
  5. [vb.net][dataView] test sur chaque lignes
    Par arnolem dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/02/2006, 10h52

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