Aide sur impression Excel

Bonjour,

je ne sais pas si mon message est au bon endroit je me tente malgré tout de le poster là. j'ai un outil au travail qui fonctionne avec une édition Excel, le problème est que cet outil n'est pas très adapté et que nous devons contourné son utilisation: nous utilisons en effet l'édition Excel alors que dans les faits ce serait Words qui serait le plus adapté (bien évidemment impossible d'utiliser Words). il y a donc un tableau avec trois colonnes :A/date B/objet et C/compte rendu,

le problème est lorsque nous imprimons si le compte rendu est trop volumineux et devrais être imprimé sur plusieurs pages l'impression est incomplète.

est il possible de trouver une solution pour imprimer l'ensemble du compte rendu donc peu importe sa taille?

j 'espère avoir été suffisamment clair en tout cas merci de l'aide que vous voudrez bien me consacrer.

bonne journée

Bonjour,

Oui ce doit etre possible, mais tout dépend de la présentation de votre compte rendu... Concrètement, vous voudriez que le tableau à trois colonnes au lieu de continuer "vers le bas" soit par exemple continué dans une colonne à droite par exemple (cf. image ci-après) ? car il faut bien le faire rentrer à moins de le tronquer. Ou bien dézoomer ?

Dans l'idéal si vous pouviez fournir la feuille de template de votre impression je pense que ça nous aiderait à vous aider.

image

bonjour saboh12617 et merci pour votre aide je vous joins un exemple pour que ce soit plus clair, la cellule ne prend pas la totalité du texte écrit il faut élargir la cellule pour que tout apparaisse ce qui ne rend l'impression impossible car plus du tout a l'échelle.

merci

11test.xlsx (20.10 Ko)

Ah d'accord. Je crois que je comprends. Donc vous cherchez une solution pour dispatcher le texte contenu en C4 sur plusieurs cellules car vous avez atteint la hauteur maximale autorisée pour une colonne, c'est bien ça ?

Auquel cas je pense qu'il va falloir passer par VBA. Est-ce ok ?

... et oui vous avez raison word serait plus adapté... mais d'ailleurs pourquoi ne peut-on pas l'utiliser ?

oui c'est tout a fait cela, le soucis pour utiliser words c'est que le logiciel utilisé exporte uniquement sous Excel donc après pour rebasculer sous Words cela semble complexe ou plus fastidieux, mais je ne connais peut être pas de moyen rapide pour le faire. merci

Hello,

et un mélange Word / Excel, ça vous irait ?

Question : vous utilisez toujours Excel/Word 2013 (en entreprise ça me semble surprenant) ?

Vu que je n'ai plus 2013 depuis.... ppfffuuuiiiitttttt, voici la démarche pour 365


- Dans Excel

il faudrait supprimer les 2 première lignes (d'autant plus que les fusion ça craint), enregistrer et fermer le fichier. (vous pouvez même quitter Excel)


- Dans Word,

+ Onglet Insertion :

* Bouton Tableau, choisissez 2 lignes et 3 colonnes

* Dans la première ligne mettez vos entêtes "Type d'activité", "Début" et "Compte-rendu"


+ Onglet Publipostage :

* Bouton Démarrer la fusion et le publipostage, choisir Lettre.

* Bouton Sélectionner les destinataires, choisir votre fichier excel, Ouvrir, choisissez Feuil1$, OK

* Dans la seconde ligne première colonne du tableau, bouton Insérer un champ de fusion, choisissez "type_dactivite", dans la colonne suivante "Début" et enfin "Compterendu"

* Bouton Terminer & fusionner et la je vous laisse choisir ce que vous voulez faire

Merci nain porte koi,

par contre lorsque j'ai plusieurs compte rendu a des dates différentes il faut que je fasse cette manipulation a chaque fois? car en testant cela n'a pris que mon dernier compte rendu en compte? s'il faut faire cela pour chaque compte rendu cela me semble trop compliqué mais merci de votre aide.

Bonjour

Le publipostage se paramètre une seule fois mais l'exemple tenant sur une page et ne comportant qu'un cas (une date) n'est pas suffisamment représentatif pour tester des pistes...

Et tu n'as pas répondu concernant la version (1en informatique en 13 ans il coule beaucoup d'eau sous le pont...)

Si chaque compte rendu est un fichier il faut changer uniquement la source.

Il faudrait nous donner un peu plus d'explication et un ou des fichiers significatifs pour pouvoir avancer un peu plus.

bonjour,

désolé d'avoir manqué de clarté dans mon explication je mets un nouveau fichier plus parlant, j'ai enlevé les comptes rendus mais l'idée est qu'il peuvent être plus ou moins longs en fonction de ce qui a été traité.

pour la version d'Excel c'est effectivement 365 au travail.

merci pour votre aide et vos retours

5test.xlsx (19.03 Ko)

en testant cela n'a pris que mon dernier compte rendu en compte

avez vous bien fait la dernière étape ?

* Bouton Terminer & fusionner et la je vous laisse choisir ce que vous voulez faire

Je vous propose un peu de lecture : https://support.microsoft.com/fr-fr/office/utiliser-le-publipostage-pour-personnaliser-des-lettres-d...

et un petit tuto : https://www.youtube.com/watch?v=cIxxM6D0GmE

Pensez à mettre à jour votre profil, sinon vous aurez des réponses qui ne correspondent pas à votre version

Bonjour à tous,

@stéphane1234, Si vous voulez simplement 'spliter' le contenu de votre cellule une petite procédure peut faire cela.

Je vous conseille de faire une copie de votre feuille avant.

Ce code est à coller dans un module :

'@Description "Fractionne (éclate) le contenu d'une cellule après nettoyage."
'@Param Target "Celule de départ, où seront recherchés et écrites, les données."
'@Param repeat "Active désactive la répétition de l'écriture des colonne 1 et 2."
'@Param linesNumber "Nombre de lignes du tableau par défaut 1000. Utilisé pour le nettoyage."
Sub SeparateReport(Optional target As Range, _
                      Optional repeat As Boolean = False, _
                      Optional linesNumber As Long = 1000)

    ' 1. Initialisation
    If target Is Nothing Then
        Dim startTarget As Range
        Set startTarget = ThisWorkbook.Sheets("Feuil1").Range("A4")
    Else
        Set startTarget = target
    End If

    ' 2. Nettoyage préalable
    With startTarget.Resize(linesNumber, 3)
        .Borders.LineStyle = xlNone
    End With

    ' 3. Récupération et Split
    Dim fullText As String
    fullText = startTarget.Offset(0, 2).Value
    If fullText = "" Then Exit Sub

    Dim tabRows() As String
    tabRows = Split(Replace(fullText, vbCrLf, vbLf), vbLf)

    ' 4. Boucle d'écriture
    Dim writingIndex As Long
    writingIndex = 0
    Dim i As Long
    For i = LBound(tabRows) To UBound(tabRows)
        Dim cleanedLines As String
        cleanedLines = Trim(tabRows(i))

        If Len(cleanedLines) > 0 And Not (cleanedLines Like "=*") Then
            ' Colonne C (Compte-rendu)
            With startTarget.Offset(writingIndex, 2)
                .NumberFormat = "@"
                .Value = cleanedLines
                .WrapText = True
            End With

            ' Colonnes A et B (Type et Date)
            If repeat Then
                startTarget.Offset(writingIndex, 0).Value = startTarget.Value
                startTarget.Offset(writingIndex, 1).Value = startTarget.Offset(0, 1).Value
            End If

            writingIndex = writingIndex + 1
        End If
    Next i

    ' 5. Formatage des bordures
    If writingIndex > 0 Then
        Dim fullRange As Range
        Set fullRange = startTarget.Resize(writingIndex, 3)

        ' Bordure extérieure du bloc complet
        With fullRange.Borders(xlEdgeLeft): .LineStyle = xlContinuous: End With
        With fullRange.Borders(xlEdgeTop): .LineStyle = xlContinuous: End With
        With fullRange.Borders(xlEdgeBottom): .LineStyle = xlContinuous: End With
        With fullRange.Borders(xlEdgeRight): .LineStyle = xlContinuous: End With

        ' Bordures intérieures des deux premières colonnes (A et B)
        With fullRange.Borders(xlInsideVertical): .LineStyle = xlContinuous: End With

    End If
End Sub

Si vous préférez nous pouvons utiliser ce code depuis un classeur, qui effectuera un nettoyage d'un autre classeur.

Dites en retour ce qui vous intéresse le plus.

Merci beaucoup Nain porte koi et Jean-Paul,
j'ai essayer de coller le code mais cela m'a mis une erreur je dois mal m'y prendre, l'idée d'un autre classeur serait pas mal je pense.

RE

une solution PowerQuery (intégré à Excel 2016 et +, en add on sur 2013)

plus quelques lignes de VBA pour actualiser en cas de changement dans le tableau source et insérer, dans le tableau imprimable, un saut de page correspondant au changement de ligne de ce tableau source

Bonjour à tous,

stéphane1234, Voici une ébauche d'un fichier qui va piloter la segmentation.

Il reste peut-être des bugs (à voir...)

Pensez à bien renseigner vos choix dans les paramètres.

merci pour vos propositions Jean-Paul et 78Chris les deux semblent très bien mais quand je teste au réel il y a des problèmes de mise en page pour le fichier de Jean Paul cela ne prend qu'une petite partie de la totalité des comptes rendu, pour un fichier de 12 pages cela ne retranscrit en fait que deux ou trois pages, et pour la proposition de Chris cela retranscris bien tout mais cela fait des parties avec quelques lignes puis il y a comme un saut de page ce qui fait que le fichier de 12 page en fait environ 20 page une fois retranscris.je ne sais pas si cela sera réajustable.

merci beaucoup

RE

Comme je l'avais dit, j'ai mis un saut de page entre chaque cellule du tableau d'origine : tu n'as donné aucune règle et tu fournis des cellule vides de compte-rendu, donc on essaye de deviner...

De même j'ai coupé les textes à des espaces : on peut décider de couper après des points...

A toi de donner des précisions pour une adaptation...

Bonjour à tous,

@séphane1234,

Si vous ne donnez pas un fichier significatif, nous ne pourrons pas avancer.

Peux-tu nous dire comment sont séparées les pages, ou les lignes ?

Bref un exemple sur une seule ligne n'est pas suffisant.

Hello,

je vais insister un petit peu avec le mailing Word.

Vous trouverez en PJ un ZIP contenant :

- le fichier de données "Test.xlsx" (que j'ai modifié avec des textes bidons)

- le fichier principal du mailing que j'ai nommé "Aide sur impression Excel.docx"

- et le fichier résultant "Résultat Aide sur impression Excel.docx"

Commencez par ouvrir le fichier de résultat, s'il vous convient voici comment réutiliser le fichier principal "Aide sur impression Excel.docx"

Lors de l'ouverture vous aurez un message d'avertissement "L’ouverture de ce document exécute la commande SQL suivante : SELECT * FROM Feuil1$" cliquez simplement sur Oui

Ensuite vous aurez un message d'erreur tout a fait normal car le fichier Test.xlsx ne se trouveras pas au même endroit que chez moi (je sais, c'est kon, word ne sais pas utiliser un chemin relatif, il garde l'emplacement et le nom du dernier fichier utilisé)

Cliquez sur OK et insérez le chemin et le nom du fichier de données ici Text.xlsx, par la suite vous pourrez mettre votre vrai fichier pour peu qu'il soit formaté de la même façon, à savoir : 3 colonnes avec les noms "Type d’activité", "Début" et "Compte-rendu"

Enfin, dans l'onglet Publipostage, cliquez sur le bouton "Terminer & fusionner" et choisissez soit de vérifier le résultat avant de lancer l'impression an choisissant "Modifier les document individuels" ou sur "Imprimer les documents".

Choisissez soit "Tous" pour tout imprimer, soit "Enregistrement en cours" pour n'imprimer que celui qui est actuellement affiché, soit "De ... à ... " pour choisir les numéros des lignes à imprimer

Si ça ne vous convient vraiment pas je laisse mes petits camarades se faire ch*** avec des macros

merci Nain porte koi je vais tester ta proposition , pour Les pistes de jean Paul et Chris78 ca me parait pratique et peut être plus intuitif s'il est possible de modifier la mise en forme en supprimant les saut de page ca serait peut être plus adapté, je met en pièce jointe un exemple plus réel de compte rendu si ça peut clarifier ma demande. en fait l'idée serait qu'il n'y ait pas de "vide" lors de l'impression et que les comptes rendu s'enchainent sans saut de page comme s'il n'y avait qu'un seul élément.

En tout cas merci du temps que vous consacrez pour m'aider

6test.xlsx (30.79 Ko)

Rechercher des sujets similaires à "aide impression"