Microsoft 365 Packing list automatisée

HugoLaChips

XLDnaute Nouveau
Bonjour à tous,

Je souhaite faire une packing list qui serait automatisée.

Explications:
Le modèle accueille que 30 lignes(C25 à C54). Au-delà, une autre page va être imprimé mais sans mise en forme rien . Je souhaiterai voir si il est possible d'une part de répliquer automatiquement le modèle lors de l'impression avec la suite de la liste.
On génère une packing list via ERP et je veux garder cette liste au complet en copiant et en collant dans mon modèle... Certaines packing list sont assez longues et ne rentrent pas dans le modèle.

Idée de base: sur une feuille 2, on copie colle la packing list que l'on veut intégrer au modèle et via macro, on vient dire à EXCEL de récupérer ces Lignes et les couper/coller dans le modèle. mais évidemment, si cela dépasse 30 lignes, cela ne rentre plus dans le modèle... donc ça coupe colle 30 lignes puis les lignes restantes sur la feuille 2 remontent. On imprime le modèle complété une première fois. Puis on relance la manip pour déplacer les autres ligne restantes vers le modèle et on imprime.

Comment à partir d'une packing liste brut non mise en forme, je peux automatiquement déplacer son contenu vers un modèle de packing list et comment répliquer ce modèle si la packing et trop longue ?

J'espère avoir été le + clair possible... C'est pas facile d'expliquer

Je joins l'exemple du fichier.

Merci d'avance pour le temps que vous y accorderez.
 

Pièces jointes

  • Modèle-packing.xlsx
    17.4 KB · Affichages: 7
Solution
Bonjour à tous

@HugoLaChips
Il y a beaucoup à redire sur tes codes :

1) Fais du ménage pour supprimer les modules vides

2) Ton code est fait surement avec l'enregistreur c'est bien mais après il faut faire un grand ménage pour enlever tout le superflu !!!

Exemple :
Remplace le code "Reset" par celui ci

VB:
Sub RESET()
Dim Derlig&
Derlig = Sheets("Packing list AUTRE").Range("C" & Rows.Count).End(xlUp).Row
With Sheets("Packing list AUTRE").Range("C16:J" & Derlig)
    .Borders.LineStyle = xlNone
    .ClearContents
End With
Sheets("Packing list AUTRE").Range("C16") = "Selectionner ici et cliquer sur Packing List"
Sheets("Packing list AUTRE").Range("C16").Font.ColorIndex = xlAutomatic
Sheets("Packing list...

HugoLaChips

XLDnaute Nouveau
Re bonjour,

C'est peut être inintéressant pour la communauté de savoir du coup qu'elle est cette autre manière de faire
@+ Lolote83

Désolé de la réponse très tardive...

En gros, sur deux feuilles:

Feuille 1 "Packing List à remplir": la packing list vierge contenant deux macros: sous forme de bouton (titre "Packing List" et le second "le logo de l'entreprise"). L'un me sert d'effacer la packing list générée précédemment et remettre en forme vierge et l'autre bouton me permet de copier et coller mon extraction du logiciel entreprise puis mettre en page le tout et remettre en forme la feuille 2 pour la prochaine utilisation

Feuille 2 "Extraction...": Je viens coller l'extraction de mon logiciel entreprise que sera copiée et collée sur la feuille 1

Toutes les macros sont faites sous le mode enregistrement.

Fonctionnement: Dans la feuille 1, je clique sur le bouton rouge (pour des raisons evidentes, j'ai retiré le logo) pour m'assurer de bien tout effacer. Ensuite je remplis à la main les infos de l'encadré.

Sur mon logiciel entreprise, je vais extraire les infos que je veux transformer en packing list et je viens la copier-coller dans la feuille 2 à l'emplacement prévu à cet effet.

Je vais ensuite sur le feuille 1, je clique une fois sur la cellule "Sélectionner ici et cliquer sur Packing List".

Je clique sur Packing List (qui est le titre dans l'encadré).

Et voilà.

En revanche, je n'ai pas trouvé comment immobiliser mon encadré. Dans fois certaines packing list sont petites et mon encadré se met au milieu de la page. Donc ça fait une présentation moche...

Voilà tout ! J'espère avoir été le + clair et faudra dans les propriétés du fichier cocher "Débloquer" car sinon il ne vous sera pas possible de faire quoique ce soit dessus afin de tester le tout :)
 

Pièces jointes

  • Packing list V2 test1 (wecompress.com).xlsm
    40.6 KB · Affichages: 8

Phil69970

XLDnaute Barbatruc
Bonjour à tous

@HugoLaChips
Il y a beaucoup à redire sur tes codes :

1) Fais du ménage pour supprimer les modules vides

2) Ton code est fait surement avec l'enregistreur c'est bien mais après il faut faire un grand ménage pour enlever tout le superflu !!!

Exemple :
Remplace le code "Reset" par celui ci

VB:
Sub RESET()
Dim Derlig&
Derlig = Sheets("Packing list AUTRE").Range("C" & Rows.Count).End(xlUp).Row
With Sheets("Packing list AUTRE").Range("C16:J" & Derlig)
    .Borders.LineStyle = xlNone
    .ClearContents
End With
Sheets("Packing list AUTRE").Range("C16") = "Selectionner ici et cliquer sur Packing List"
Sheets("Packing list AUTRE").Range("C16").Font.ColorIndex = xlAutomatic
Sheets("Packing list AUTRE").Range("C16").Font.Bold = True
End Sub

Les select qui sont de partout dans tes codes sont à proscrire dans 99% des cas

Et remplace le code "KKKKKKK" par celui ci

VB:
Sub KKKKKKK()
Dim DerLig&
DerLig = Sheets("Extraction ""Kit_Packing...""").Range("C" & Rows.Count).End(xlUp).Row
Sheets("Packing list AUTRE").Range("C16:J" & 15 + DerLig) = Sheets("Extraction ""Kit_Packing...""").Range("A1:G" & DerLig).Value
Sheets("Packing list AUTRE").Range("C16:I6").Font.Bold = True
Sheets("Packing list AUTRE").Range("I16") = "WEIGHT (kg)"
With Sheets("Packing list AUTRE").Range("C16:I" & DerLig + 15)
    .Borders.LineStyle = 1
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .Font.Size = 8
End With
Sheets("Packing list AUTRE").Range("C16:I16").Font.Size = 10
With Sheets("Extraction ""Kit_Packing...""")
    .Range("A:G").Borders.LineStyle = xlNone
    .Range("A:G").ClearContents
    .Range("B1") = "<= COLLER ICI EXTRACTION"
    .Range("B1").Font.Size = 14
    .Range("B1").Characters(Start:=1, Length:=13).Font.FontStyle = "Gras"       'Gadget !!!
    .Range("B1").Characters(Start:=14, Length:=11).Font.Size = 11       'Gadget !!!
End With
    Sheets("Packing list AUTRE").Range("C16").Select
End Sub

Merci de ton retour
 
Dernière édition:

HugoLaChips

XLDnaute Nouveau
Bonjour,

Effectivement, c'est un peu le bazar, j'ai oublié de faire le ménage --'.

Je vais m'occuper de ça !

Merci pour votre retour !! Je fais un retour dès que j'arrive à trouver comment figer mon encadré et ses infos ;) Pour éviter qu'il soit tiré vers le milieu de la feuille lorsqu'une packing list est toute petite...

J'ai tenté de pkacer le mêmes infos avec la personnalisation d'en-têtes mais ça passe pas du tout. Je suis bloqué car il semble y avoir une limite de caractères :'(

Une idée, une réflexion ou autre, je suis preneur ! Cela me permet d'avoir un fichier fonctionnel et surtout, le plus propre et complet possible. Cela me permet aussi d'apprendre !!!

Très bonne journée !
 

Phil69970

XLDnaute Barbatruc
Re


J'ai mis le code du ménage tu n'as plus qu'à le recopier !!!
Effectivement, c'est un peu le bazar, j'ai oublié de faire le ménage --'.

Je vais m'occuper de ça !


J'ai pas compris donne un fichier exemple
Merci pour votre retour !! Je fais un retour dès que j'arrive à trouver comment figer mon encadré et ses infos Pour éviter qu'il soit tiré vers le milieu de la feuille lorsqu'une packing list est toute petite...
 

HugoLaChips

XLDnaute Nouveau
Re,

Oui c'est bon le ménage est fait ! Merci beaucoup pour ça !

L'encadré où se situe les infos se déplace vers le centre de la feuille si je n'ai que très peu de lignes sur ma packing list.

Je mets des scrennshots du fichier envoyé + haut. Si on va dans "Affichage -> "Mise en Page", l'encadré semble rester en haut de la feuille (ce que je recherche). Mais dès lors qu'on fait un aperçu d'impression et une impression, l'encadré se recentre au milieu...

Faut que cet encadré fonctionne en tant que en-tête. Ce que je n'arrive pas à faire :(

Ci-joints, les aperçus d'impression.

Si des modifs sont à faire, on peut reprendre le fichier précédemment envoyé.
 

Pièces jointes

  • PL ex encadré impression 2.PNG
    PL ex encadré impression 2.PNG
    52.6 KB · Affichages: 7
  • PL ex encadré impression.PNG
    PL ex encadré impression.PNG
    59.3 KB · Affichages: 3
  • PL Ex encadré.PNG
    PL Ex encadré.PNG
    25.7 KB · Affichages: 7

Phil69970

XLDnaute Barbatruc
Re

@HugoLaChips

Il suffit de modifier ceci

1724226051362.png


Merci de ton retour
 

Discussions similaires

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD