Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Bonjour Une des manières (qui soit à ma portée) ... Ouvrir une feuille blanche, activer l'enregistreur de macro, puis réaliser le titre (centrer, encadrer , choix police , couleur ...) Arrêter l'enregistreur.
Cela est peut-être lourd, mais au moins, on a une bonne base pour commencer.
Bonne journée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." a écrit dans le message de groupe de discussion :
Bonjour à tous,
Comment peut-on, en VBA, dessiner une bordure pour un titre centré dans un fichier texte.
Exemple :
------------- ! Titre ! -------------
Merci d'avance.
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Bonjour
Une des manières (qui soit à ma portée) ...
Ouvrir une feuille blanche, activer l'enregistreur de macro, puis réaliser
le titre (centrer, encadrer , choix police , couleur ...)
Arrêter l'enregistreur.
Cela est peut-être lourd, mais au moins, on a une bonne base pour commencer.
Bonne journée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
a écrit dans le message de groupe de discussion :
74c2acaf-7d1b-4fa6-ae11-b46d1b874248@googlegroups.com...
Bonjour à tous,
Comment peut-on, en VBA, dessiner une bordure pour un titre centré dans un
fichier texte.
Exemple :
-------------
! Titre !
-------------
Merci d'avance.
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Bonjour Une des manières (qui soit à ma portée) ... Ouvrir une feuille blanche, activer l'enregistreur de macro, puis réaliser le titre (centrer, encadrer , choix police , couleur ...) Arrêter l'enregistreur.
Cela est peut-être lourd, mais au moins, on a une bonne base pour commencer.
Bonne journée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." a écrit dans le message de groupe de discussion :
Bonjour à tous,
Comment peut-on, en VBA, dessiner une bordure pour un titre centré dans un fichier texte.
Exemple :
------------- ! Titre ! -------------
Merci d'avance.
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
elatlas
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
isabelle
bonjour ,
en suposant que le fichier texte existe déjà et il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt") et mettre dans la feuille active du fichier excel en cellule A1:A3 l'info du titre ------------- ! Titre ! -------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte() Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting) With oTxt For i = 1 To 3 .WriteLine Selection(i) & Chr(10) Next i End With End Sub
isabelle
Le 2015-10-20 15:09, a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
bonjour ,
en suposant que le fichier texte existe déjà et
il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt")
et mettre dans la feuille active du fichier excel en cellule A1:A3
l'info du titre
-------------
! Titre !
-------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte()
Dim oFSO As Scripting.FileSystemObject
Dim oFl As Scripting.File
Dim oTxt As Scripting.TextStream
Dim i As Integer
Set oFSO = New Scripting.FileSystemObject
Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt")
Set oTxt = oFl.OpenAsTextStream(ForWriting)
With oTxt
For i = 1 To 3
.WriteLine Selection(i) & Chr(10)
Next i
End With
End Sub
isabelle
Le 2015-10-20 15:09, elatlas@gmail.com a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
en suposant que le fichier texte existe déjà et il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt") et mettre dans la feuille active du fichier excel en cellule A1:A3 l'info du titre ------------- ! Titre ! -------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte() Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting) With oTxt For i = 1 To 3 .WriteLine Selection(i) & Chr(10) Next i End With End Sub
isabelle
Le 2015-10-20 15:09, a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
isabelle
tu peut remplacer cette ligne .WriteLine Selection(i) & Chr(10) par celle-ci .WriteLine Range("A" & i) & Chr(10)
isabelle
Le 2015-10-20 19:32, isabelle a écrit :
bonjour ,
en suposant que le fichier texte existe déjà et il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt") et mettre dans la feuille active du fichier excel en cellule A1:A3 l'info du titre ------------- ! Titre ! -------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte() Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting) With oTxt For i = 1 To 3 .WriteLine Selection(i) & Chr(10) Next i End With End Sub
isabelle
Le 2015-10-20 15:09, a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
tu peut remplacer cette ligne
.WriteLine Selection(i) & Chr(10)
par celle-ci
.WriteLine Range("A" & i) & Chr(10)
isabelle
Le 2015-10-20 19:32, isabelle a écrit :
bonjour ,
en suposant que le fichier texte existe déjà et
il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt")
et mettre dans la feuille active du fichier excel en cellule A1:A3
l'info du titre
-------------
! Titre !
-------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte()
Dim oFSO As Scripting.FileSystemObject
Dim oFl As Scripting.File
Dim oTxt As Scripting.TextStream
Dim i As Integer
Set oFSO = New Scripting.FileSystemObject
Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt")
Set oTxt = oFl.OpenAsTextStream(ForWriting)
With oTxt
For i = 1 To 3
.WriteLine Selection(i) & Chr(10)
Next i
End With
End Sub
isabelle
Le 2015-10-20 15:09, elatlas@gmail.com a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un
fichier texte !
tu peut remplacer cette ligne .WriteLine Selection(i) & Chr(10) par celle-ci .WriteLine Range("A" & i) & Chr(10)
isabelle
Le 2015-10-20 19:32, isabelle a écrit :
bonjour ,
en suposant que le fichier texte existe déjà et il faut adapter cette ligne ("C:UsersisabelleDocumentstest_texte1.txt") et mettre dans la feuille active du fichier excel en cellule A1:A3 l'info du titre ------------- ! Titre ! -------------
'il faut ajouter la référence : Microsoft Scripting Runtime.
Sub ÉcrireFichierTexte() Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting) With oTxt For i = 1 To 3 .WriteLine Selection(i) & Chr(10) Next i End With End Sub
isabelle
Le 2015-10-20 15:09, a écrit :
Bonjour Jacquoille,
L'enregistreur des macros fonctionne sur une feuille Excel, mais pas dans un fichier texte !
isabelle
aussi le texte du titre et son encadrement peuvent être mit dans la macro cela évite de passer par des cellules
Sub ÉcrireFichierTexte() 'il faut ajouter la référence : Microsoft Scripting Runtime. Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Dim arrTitre, sTitre As String, t1 As String, t2 As String, t3 As String
Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting)
sTitre = " Voici le texte de mon titre" n = Len(sTitre) t1 = Application.Rept("-", n + 2) t2 = "!" & sTitre & "!" t3 = Application.Rept("-", n + 2) arrTitre = Array(t1, t2, t3)
With oTxt For i = 0 To 2 .WriteLine arrTitre(i) & Chr(10) Next i End With End Sub
isabelle
aussi le texte du titre et son encadrement peuvent être mit dans la macro
cela évite de passer par des cellules
Sub ÉcrireFichierTexte()
'il faut ajouter la référence : Microsoft Scripting Runtime.
Dim oFSO As Scripting.FileSystemObject
Dim oFl As Scripting.File
Dim oTxt As Scripting.TextStream
Dim i As Integer
Dim arrTitre, sTitre As String, t1 As String, t2 As String, t3 As String
Set oFSO = New Scripting.FileSystemObject
Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt")
Set oTxt = oFl.OpenAsTextStream(ForWriting)
sTitre = " Voici le texte de mon titre"
n = Len(sTitre)
t1 = Application.Rept("-", n + 2)
t2 = "!" & sTitre & "!"
t3 = Application.Rept("-", n + 2)
arrTitre = Array(t1, t2, t3)
With oTxt
For i = 0 To 2
.WriteLine arrTitre(i) & Chr(10)
Next i
End With
End Sub
aussi le texte du titre et son encadrement peuvent être mit dans la macro cela évite de passer par des cellules
Sub ÉcrireFichierTexte() 'il faut ajouter la référence : Microsoft Scripting Runtime. Dim oFSO As Scripting.FileSystemObject Dim oFl As Scripting.File Dim oTxt As Scripting.TextStream Dim i As Integer Dim arrTitre, sTitre As String, t1 As String, t2 As String, t3 As String
Set oFSO = New Scripting.FileSystemObject Set oFl = oFSO.GetFile("C:UsersisabelleDocumentstest_texte1.txt") Set oTxt = oFl.OpenAsTextStream(ForWriting)
sTitre = " Voici le texte de mon titre" n = Len(sTitre) t1 = Application.Rept("-", n + 2) t2 = "!" & sTitre & "!" t3 = Application.Rept("-", n + 2) arrTitre = Array(t1, t2, t3)
With oTxt For i = 0 To 2 .WriteLine arrTitre(i) & Chr(10) Next i End With End Sub
isabelle
elatlas
Bonjour Isabelle,
Le fichier à été créé, mais :
1 - l'encadrement n'atteint pas la longueur du texte (Quelques tirets manqu ent encore au dessus et au dessous du texte)
2 - le texte généré n'est pas centré dans la page du fichier texte résultante.
Bonjour Isabelle,
Le fichier à été créé, mais :
1 - l'encadrement n'atteint pas la longueur du texte (Quelques tirets manqu ent encore au dessus et au dessous du texte)
2 - le texte généré n'est pas centré dans la page du fichier texte résultante.
est-ce qu'il faut ajouter un titre sur un fichier déjà existant ? si oui, il y aurais la possibilité de mesurer la ligne la plus large. isabelle
Le 2015-10-21 15:23, a écrit :
Bonjour Isabelle,
Le fichier à été créé, mais :
1 - l'encadrement n'atteint pas la longueur du texte (Quelques tirets manquent encore au dessus et au dessous du texte)
2 - le texte généré n'est pas centré dans la page du fichier texte résultante.
elatlas
J'ai essayé les tabulations vbTab.
et voila le code :
'------------ With oTxt For i = 0 To 2 .WriteLine Application.Rept(vbTab, Int((138 - n - 4) / 8) / 2) & a rrTitre(i) & Chr(10) Next i End With End Sub
' 138 caractères CONSOLAS par ligne ' 8 caractères par vbTab ' 138 - len (titre) - 4 (2 espaces + 2 !) = 12 vbtab ' On divise 12 par deux = 6 vbTab à gauche et 6 vbTba à droite '------------
J'ai essayé les tabulations vbTab.
et voila le code :
'------------
With oTxt
For i = 0 To 2
.WriteLine Application.Rept(vbTab, Int((138 - n - 4) / 8) / 2) & a rrTitre(i) & Chr(10)
Next i
End With
End Sub
' 138 caractères CONSOLAS par ligne
' 8 caractères par vbTab
' 138 - len (titre) - 4 (2 espaces + 2 !) = 12 vbtab
' On divise 12 par deux = 6 vbTab à gauche et 6 vbTba à droite
'------------
'------------ With oTxt For i = 0 To 2 .WriteLine Application.Rept(vbTab, Int((138 - n - 4) / 8) / 2) & a rrTitre(i) & Chr(10) Next i End With End Sub
' 138 caractères CONSOLAS par ligne ' 8 caractères par vbTab ' 138 - len (titre) - 4 (2 espaces + 2 !) = 12 vbtab ' On divise 12 par deux = 6 vbTab à gauche et 6 vbTba à droite '------------
elatlas
Pour les titres, il y a une série de titres à ajouter tout le long de l a page du fichier texte.
Pour les titres, il y a une série de titres à ajouter tout le long de l a page du fichier texte.