3 votes

Existe-t-il un éditeur de texte qui affiche les numéros de colonne et/ou qui affiche le texte dans une grille permettant de consulter rapidement les numéros de colonne ?

J'ai essentiellement besoin d'un éditeur de texte qui affiche le texte dans une grille, de sorte que je puisse connaître les numéros de colonne exacts du texte. Le logiciel de simulation numérique que j'utilise, TOUGH+ (écrit en FORTRAN), a un format strict et je dois spécifier mes fichiers d'entrée dans le format exact.

Une lettre mal placée ici et là peut rendre le fichier entier inutile. J'en ai donc besoin pour jeter un coup d'œil rapide aux fichiers d'entrée, et savoir/vérifier quel texte commence et finit dans quelle colonne. Sinon, le fichier devient parfois confus.

Par exemple, dans l'image de l'extrait de fichier d'entrée, il est très difficile de distinguer d'un coup d'œil où une valeur se termine et où une autre commence.

Input file snippet with lines separating values

La chose la plus utile que j'ai essayé est le plugin TextFX avec Notepad++, mais il est très inélégant, car il place juste un texte de caractères pour voir les numéros de colonnes.

Text FX plugin

La meilleure façon de décrire mon besoin serait une feuille de calcul mais qui ne prend qu'un seul caractère dans une cellule.

1voto

spikey_richie Points 6213

Je remarque que vous avez étiqueté la question avec Excel. Vous pourriez utiliser du texte en colonnes, spécifier une largeur fixe, puis ajouter une ligne de rupture à chaque rupture de colonne (un peu fastidieux), puis utiliser l'ID de la colonne comme identifiant.

Une solution plus propre serait d'utiliser une macro/VBA pour effectuer la division, quelque chose comme

Selection.TextToColumns Destination:=Range("A2"), DataType:=xlFixedWidth, _     
    FieldInfo:=Array( _
        Array(0, 1), _
        Array(1, 1), _
        Array(2, 1), _
        Array(3, 1), _
        Array(4, 1), _
        Array(5, 1)), _
        TrailingMinusNumbers:=True

Étendre le nombre d'éléments du tableau pour couvrir le nombre approprié de colonnes.

1voto

Je le poste en tant que réponse, car il est trop gros pour les commentaires multiples. Divulgation : je n'ai essayé aucune de ces propositions, mais certaines ont été acceptées comme réponses.

Personnellement, je trouverais cela assez simple pour écrire un script en Python :

  • supprimer plusieurs espaces de chaque ligne
  • diviser chaque ligne en plusieurs mots
  • insérer des espaces comme il convient

1voto

Rajesh Sinha Points 8611

Ce problème peut être facilement résolu en utilisant VBA (Macro) :

Ce code va parcourir toutes les feuilles de calcul du classeur actif, trouver la valeur dans le champ Plage de recherche sur chaque feuille, et stocker les valeurs dans la feuille de calcul nommée FindAddressWorksheet en ligne Sheetindex de la colonne A .

Sub FindAddress()

Sheetindex = 1
For Each ws In Worksheets

  If ws.Name <> FindAddressWorksheet Then
    FindAddressWorksheet.Cells(Sheetindex, 1).Value = _
    ws.Range(Myrange).Value
    Sheetindex = Sheetindex + 1
  End If
Next
End Sub

Comment cela fonctionne :

  • Copier & Coller cette Macro comme Modele Standard.
  • Entrez toutes les données à rechercher, et nommez-les comme suit Myrange (ce nom est modifiable).
  • Nommez une feuille blanche comme FindAddressWorksheet (Le nom de la feuille est modifiable) avant d'exécuter la macro.

Cette option peut être utilisée si vous travaillez uniquement sur une feuille :

Sub FindRange()

    Dim rngX As Range
    Dim Data As String

    Data = InputBox("Write Value", "Obtain Cell Address")
    Set rngX = Worksheets("Sheet1").Range("A1:AFD65000").Find(Data, lookat:=xlPart)

    If Not rngX Is Nothing Then
        MsgBox "Found at " & rngX.Address
    End If

End Sub

N.B.

  • Le nom de la feuille et la plage de données sont modifiables.

1voto

Si vous pouvez utiliser Microsoft Access, vous pouvez utiliser une méthode de conversion de texte en colonnes similaire à celle d'Excel, mais avec l'avantage de sauvegarder vos spécifications pour les réutiliser. Cette méthode permet d'importer votre fichier texte à largeur fixe dans un tableau de données facilement lisible. Pour répéter l'importation, il suffit de trois ou quatre clics.

(Je ne sais pas si cela vous concerne, alors je le mettrais bien en commentaire, mais je n'ai pas la réputation pour cela).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X