bonjour,
quel programme utiliser pour créer un tableau qui soit lié avec une
suite de lignes sur notepad
merci d'avance
-----
bonjour,
quel programme utiliser pour créer un tableau qui soit lié avec une
suite de lignes sur notepad
merci d'avance
Bonjour,
En général, ça, on le fait soit-même:Cordialement,Code:+------+--------+ | nom | prénom | +------+--------+ | Prog | Val | +------+--------+
ProgVal
y faut qu'a un élément du tableau corresponde
ce même élément dans notepad
Tu peux répéter plus clairement?
je veux créer un tableau par exemple de 16 cases (4*4)
et quand je met une valeur (0-255) dans une de ces 16 cases
cette valeur va s'écrire dans mon fichier notepad à un endroit
précis (d'une manière dinamique ou pas)
ex:101 dans la case 0, 101 s'écrit à la ligne 0 du fichier notepad
21 dans la case 1, 21 s'écrit à la ligne 1 du fichier notepad
.....
Dernière modification par electroflop ; 17/08/2009 à 13h32. Motif: plus précis
J'ai toujours du mal à comprendre...
Que veux-tu faire, en fait? Créer un programme qui génère des tableaux? Ou tu cherches un programme qui permet d'en générer automatiquement?
utiliser un programme genre excel
dans la case A0 tu va mettre une valeur entre 0-255 ou une chaine de caractère et hop
ça va mettre cette valeur ou cette chaine de caractère à la ligne 0 dans notepad
Ah! Tu veux convertir du format Excel vers le format texte, c'est ça?
Excel le fait tout seul ~~
Il suffit d'exporter au format txt (en choisissant le séparateur souhaité).
Il ne veut pas un fichier csv, mais un fichier où on voit un tableau, comme dans mon premier message de ce topic.
Dernière modification par electroflop ; 18/08/2009 à 08h07. Motif: plus précis
Si la mise en forme du tableau proposée par Progval te convient, la solution est simple. Tu procèdes comme suit :
- tu copies la plage du tableau qui t'intéresse dans une nouvelle feuille Excel que tu sauvegardes dans le dossier de ton choix au format CSV (avec le point-virgule comme séparateur).
- tu te fais une macro dans la feuille Excel initiale qui va analyser le fichier CSV en commencant par compter le nombre de points-virgules de la première ligne. Le code ASCII du ";" est 59 (pour connaître le nombre de colonnes, il te suffira d'ajouter 1).
- ta macro doit ensuite compter le nombre de lignes.
- enfin, elle doit rechercher la chaîne la plus longue du tableau pour connaître le format des cellules.
Exemple : si le nombre de ";" de la 1ère ligne est 4 et si la chaîne la plus longue est "3,1416", le format des interlignes sera :
"+------+------+------+------+------+"
et le format des lignes de la forme :
"|######|######|######|######| ######|"
Il suffira de reconstruire ton fichier dans un autre fichier texte.
Si tu ne maîtrises pas les macros, mets-nous en ligne ton fichier Excel.
ok,
comme j'ai une piste,
je vais gratter un peu avant de crier au secours,
merci
Génial.
Sache que chez moi ça marche Nickel-Chrome.
Par curiosité: je peux avoir la macro?
Désolé, j'avais oublié de m'abonner. L'âge !
Sans pb pour la macro :
Ne pas oublier ensuite de mettre le fichier texte dans une police monospace (Courrier).Code:Private Sub Tableau_Click() Dim Ligne As String Dim NbColonnes, NbLignes As Integer Dim I, Largeur As Integer Dim Chaîne, Interligne As String Dim Enregistrement As String NbColonnes = 1 NbLignes = 0 Largeur = -1 Chaîne = "" Interligne = "+" 'Calcul du nombre de colonnes Open "c:\_temp\classeur1.csv" For Input As #1 Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then NbColonnes = NbColonnes + 1 Next I Close #1 'Calcul du nombre de lignes Open "c:\_temp\classeur1.csv" For Input As #1 While Not EOF(1) Line Input #1, Ligne NbLignes = NbLignes + 1 Wend Close #1 ' Calcul du format des cellules Open "c:\_temp\classeur1.csv" For Input As #1 While Not EOF(1) Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then If Largeur < Len(Chaîne) Then Largeur = Len(Chaîne) Chaîne = "" Else Chaîne = Chaîne & Mid(Ligne, I, 1) End If Next I Wend Close #1 ' Calcul de l'interligne For I = 1 To NbColonnes Interligne = Interligne & String(NbColonnes, "-") & "+" Next I ' Conversion Ligne à Ligne Open "c:\_temp\classeur1.csv" For Input As #1 Open "c:\_temp\classeur1.txt" For Output As #2 While Not EOF(1) Chaîne = "" Enregistrement = "" Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then Chaîne = Right(String(Largeur, ".") & Chaîne, Largeur) Enregistrement = Enregistrement & Chaîne & "|" If I <> Len(Ligne) Then Chaîne = "" Else Chaîne = Chaîne & Mid(Ligne, I, 1) End If Next I Enregistrement = "|" & Enregistrement & Right(String(Largeur, ".") & Chaîne, Largeur) & "|" Print #2, Enregistrement Wend Close #1 Close #2 End End Sub
Ce n'est pas de la belle programmation bien optimisée, mais ça marche.
Ce sera mieux sans bug et avec les interlignes
Code:Private Sub Tableau_Click() Dim Ligne As String Dim NbColonnes, NbLignes As Integer Dim I, Largeur As Integer Dim Chaîne, Interligne As String Dim Enregistrement As String NbColonnes = 1 NbLignes = 0 Largeur = -1 Chaîne = "" Interligne = "+" 'Calcul du nombre de colonnes Open "c:\_temp\classeur1.csv" For Input As #1 Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then NbColonnes = NbColonnes + 1 Next I Close #1 'Calcul du nombre de lignes Open "c:\_temp\classeur1.csv" For Input As #1 While Not EOF(1) Line Input #1, Ligne NbLignes = NbLignes + 1 Wend Close #1 ' Calcul du format des cellules Open "c:\_temp\classeur1.csv" For Input As #1 While Not EOF(1) Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then If Largeur < Len(Chaîne) Then Largeur = Len(Chaîne) Chaîne = "" Else Chaîne = Chaîne & Mid(Ligne, I, 1) End If Next I Wend Close #1 ' Calcul de l'interligne For I = 1 To NbColonnes Interligne = Interligne & String(Largeur, "-") & "+" Next I ' Conversion Ligne à Ligne Open "c:\_temp\classeur1.csv" For Input As #1 Open "c:\_temp\classeur1.txt" For Output As #2 While Not EOF(1) Chaîne = "" Enregistrement = "" Line Input #1, Ligne For I = 1 To Len(Ligne) If Mid(Ligne, I, 1) = ";" Then Chaîne = Right(String(Largeur, " ") & Chaîne, Largeur) Enregistrement = Enregistrement & Chaîne & "|" If I <> Len(Ligne) Then Chaîne = "" Else Chaîne = Chaîne & Mid(Ligne, I, 1) End If Next I Enregistrement = "|" & Enregistrement & Right(String(Largeur, " ") & Chaîne, Largeur) & "|" Print #2, Interligne Print #2, Enregistrement Wend Print #2, Interligne Close #1 Close #2 End End Sub