J'ai créé une classeur qui comporte deux feuilles. La première est le recto
d'un contrat avec tous les détails relatif au travail à faire etc. Sur la
deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un
paragraphe par cellule. Les cellules ont une largeur qui correspond à la
largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer
correctement. Mais si je le fais par programmation VBA, la première page est
correcte mais la seconde n'imprime que les ± 255 premiers caractères de
chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner
ce problème. J'ai besoin que ce soit fait par VBA.
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
Patrick BASTARD
Bonjour, *Pierre Archambault*
Puis-je me permettre respectueusement de te conseiller d'utiliser plutôt Word (ou tout autre traitement de texte). Excel sait faire plein de choses, mais en traitement de texte, ce n'est pas vraiment la meilleure solution.
-- Bien amicordialement, P. Bastard
Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le recto d'un contrat avec tous les détails relatif au travail à faire etc. Sur la deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un paragraphe par cellule. Les cellules ont une largeur qui correspond à la largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer correctement. Mais si je le fais par programmation VBA, la première page est correcte mais la seconde n'imprime que les ± 255 premiers caractères de chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner ce problème. J'ai besoin que ce soit fait par VBA.
Merci de votre aide
Pierre
Bonjour, *Pierre Archambault*
Puis-je me permettre respectueusement de te conseiller d'utiliser plutôt
Word (ou tout autre traitement de texte).
Excel sait faire plein de choses, mais en traitement de texte, ce n'est pas
vraiment la meilleure solution.
--
Bien amicordialement,
P. Bastard
Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le
recto d'un contrat avec tous les détails relatif au travail à faire
etc. Sur la deuxième feuille, j'ai tapé les conditions du contrat.
J'ai mis un paragraphe par cellule. Les cellules ont une largeur qui
correspond à la largeur imprimable de la page. Le format de ces
cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne
automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer
correctement. Mais si je le fais par programmation VBA, la première
page est correcte mais la seconde n'imprime que les ± 255 premiers
caractères de chaque cellule. Pourquoi ce comportement ? Y a-t-il une
façon de contourner ce problème. J'ai besoin que ce soit fait par VBA.
Puis-je me permettre respectueusement de te conseiller d'utiliser plutôt Word (ou tout autre traitement de texte). Excel sait faire plein de choses, mais en traitement de texte, ce n'est pas vraiment la meilleure solution.
-- Bien amicordialement, P. Bastard
Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le recto d'un contrat avec tous les détails relatif au travail à faire etc. Sur la deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un paragraphe par cellule. Les cellules ont une largeur qui correspond à la largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer correctement. Mais si je le fais par programmation VBA, la première page est correcte mais la seconde n'imprime que les ± 255 premiers caractères de chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner ce problème. J'ai besoin que ce soit fait par VBA.
Merci de votre aide
Pierre
michdenis
Bonjour Pierre,
Une suggestion, tu ajoutes seulement pour l'impression, une zone de texte dans lequel tu transfères le texte de la plage de cellules.
Le code aurait l'air de ceci :
Adapte le nom de la feuille "Feuil1" dans la procédure et la plage de cellule où est ton texte
'------------------------------------------ Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim T As String, C As Range Dim Sh As Worksheet Application.ScreenUpdating = False For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then 'à adapter With Sh.Range("A1:G51") 'à définir ... Set Tb = Sh.OLEObjects.Add(ClassType:="Forms.TextBox.1", _ Link:úlse, DisplayAsIcon:úlse, _ Left:=.Left, Top:=.Top, Width:=.Width - 0.05, Height:=.Height - 0.05) Tb.Object.MultiLine = True Tb.ShapeRange.Line.Visible = msoFalse For Each C In Sh.Range("A1:A3") T = T & C.Value & vbCrLf Next Tb.Object.Text = T End With With Sh .PageSetup.CenterHorizontally = True .PageSetup.CenterVertically = True .PrintOut End With Tb.Object.Delete Else Sh.PrintOut End If Next Cancel = True
End Sub '------------------------------------------
Salutations!
"Pierre Archambault" a écrit dans le message de news: pRQdf.3532$ Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le recto d'un contrat avec tous les détails relatif au travail à faire etc. Sur la deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un paragraphe par cellule. Les cellules ont une largeur qui correspond à la largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer correctement. Mais si je le fais par programmation VBA, la première page est correcte mais la seconde n'imprime que les ± 255 premiers caractères de chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner ce problème. J'ai besoin que ce soit fait par VBA.
Merci de votre aide
Pierre
Bonjour Pierre,
Une suggestion, tu ajoutes seulement pour l'impression, une zone de texte dans lequel tu transfères le texte de la plage de
cellules.
Le code aurait l'air de ceci :
Adapte le nom de la feuille "Feuil1" dans la procédure
et la plage de cellule où est ton texte
'------------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim T As String, C As Range
Dim Sh As Worksheet
Application.ScreenUpdating = False
For Each Sh In ActiveWindow.SelectedSheets
If Sh.Name = "Feuil1" Then 'à adapter
With Sh.Range("A1:G51") 'à définir ...
Set Tb = Sh.OLEObjects.Add(ClassType:="Forms.TextBox.1", _
Link:úlse, DisplayAsIcon:úlse, _
Left:=.Left, Top:=.Top, Width:=.Width - 0.05, Height:=.Height - 0.05)
Tb.Object.MultiLine = True
Tb.ShapeRange.Line.Visible = msoFalse
For Each C In Sh.Range("A1:A3")
T = T & C.Value & vbCrLf
Next
Tb.Object.Text = T
End With
With Sh
.PageSetup.CenterHorizontally = True
.PageSetup.CenterVertically = True
.PrintOut
End With
Tb.Object.Delete
Else
Sh.PrintOut
End If
Next
Cancel = True
End Sub
'------------------------------------------
Salutations!
"Pierre Archambault" <pierre.archambault@videotron.ca> a écrit dans le message de news: pRQdf.3532$wc.302163@wagner.videotron.net...
Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le recto
d'un contrat avec tous les détails relatif au travail à faire etc. Sur la
deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un
paragraphe par cellule. Les cellules ont une largeur qui correspond à la
largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer
correctement. Mais si je le fais par programmation VBA, la première page est
correcte mais la seconde n'imprime que les ± 255 premiers caractères de
chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner
ce problème. J'ai besoin que ce soit fait par VBA.
Une suggestion, tu ajoutes seulement pour l'impression, une zone de texte dans lequel tu transfères le texte de la plage de cellules.
Le code aurait l'air de ceci :
Adapte le nom de la feuille "Feuil1" dans la procédure et la plage de cellule où est ton texte
'------------------------------------------ Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim T As String, C As Range Dim Sh As Worksheet Application.ScreenUpdating = False For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then 'à adapter With Sh.Range("A1:G51") 'à définir ... Set Tb = Sh.OLEObjects.Add(ClassType:="Forms.TextBox.1", _ Link:úlse, DisplayAsIcon:úlse, _ Left:=.Left, Top:=.Top, Width:=.Width - 0.05, Height:=.Height - 0.05) Tb.Object.MultiLine = True Tb.ShapeRange.Line.Visible = msoFalse For Each C In Sh.Range("A1:A3") T = T & C.Value & vbCrLf Next Tb.Object.Text = T End With With Sh .PageSetup.CenterHorizontally = True .PageSetup.CenterVertically = True .PrintOut End With Tb.Object.Delete Else Sh.PrintOut End If Next Cancel = True
End Sub '------------------------------------------
Salutations!
"Pierre Archambault" a écrit dans le message de news: pRQdf.3532$ Bonjour à tous,
J'ai créé une classeur qui comporte deux feuilles. La première est le recto d'un contrat avec tous les détails relatif au travail à faire etc. Sur la deuxième feuille, j'ai tapé les conditions du contrat. J'ai mis un paragraphe par cellule. Les cellules ont une largeur qui correspond à la largeur imprimable de la page. Le format de ces cellules (paragraphes) est :
Alignement | contrôle du texte : "Renvoyer à la ligne automatiquement."
Après avoir sélectionné ces deux pages, j'arrive à les imprimer correctement. Mais si je le fais par programmation VBA, la première page est correcte mais la seconde n'imprime que les ± 255 premiers caractères de chaque cellule. Pourquoi ce comportement ? Y a-t-il une façon de contourner ce problème. J'ai besoin que ce soit fait par VBA.