transfert de données selon un code

sebbbbb

XLDnaute Impliqué
Bonjour à tous

excellente année 2017 à vous toutes et tous et longue vie à ce site.

vous le devinez je vous sollicite pour résoudre un problème qui me gâche la vie depuis plusieurs jours.
vous trouverez en PJ le document en question

Voilà je dois renseigner dans l'onglet new D1 des types de matériel qui embarque dans un navire.

en fonction du type de marchandises un code s'applique ; ce code permettra de faire le distingo sur un autre onglet et de les séparer par type (trailer, TCU etc).

JE précise que les données sont entrées sans aucun ordre dans l'onglet D1, je ne peux donc pas prevoir à l'avance des renvoi dans tel ou tel cellules

pour résumer je souhaiterai que toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 1 soient listées les unes après les autres dans l'onglet terminal report ( partie trailers : a commencer sur la cellule B25 ; puis C25, D25 etc etc)

Toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 2 soient listées les unes après les autres dans l'onglet terminal report (partie TCU : a commencer sur cellule B39; puis c39 etc etc)

Toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 3 soient listées les unes après les autres dans l'onglet terminal report (partie cars : a commencer sur cellule B51; puis c51 etc etc)

un énorme merci par avance à tous ceux qui voudront bien m'aider. vous l'aurez compris je suis novice (même si j'apprends plein de choses grâce à vous) et mes différentes recherches sur le net ne m'ont pas aidées

seb
 

Pièces jointes

  • TEST escale.xlsm
    80.3 KB · Affichages: 27

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Bonjour à tous
en fonction du type de marchandises un code s'applique ; ce code permettra de faire le distingo sur un autre onglet et de les séparer par type (trailer, TCU etc).
Je présume que ces codes sont représentés par ces N° qui se suivent ( 1-2-3 etc...)

JE précise que les données sont entrées sans aucun ordre dans l'onglet D1, je ne peux donc pas prevoir à l'avance des renvoi dans tel ou tel cellules

Peux-tu nous donner quelques exemples afin que l'on comprenne mieux
D'autre part, d'où vient Cars : Dacia Cars tanger

Merci & bonne soirée
 

sebbbbb

XLDnaute Impliqué
Bonsoir Jbarbe

je me rends compte que j'avais mis un fichier erroné. désolé :). Mes explications n'étaient pas très claires également

ci-joint le bon fichier

donc je résume à nouveau. je souhaiterai que :

- toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 1 (sous type) soient listées également et automatiquement les unes après les autres dans l'onglet terminal report ( partie Trailers : en commençant sur la cellule B25 ; puis B26, B27 etc etc), tout comme la provenance (N25, puis N26, puis N27...)

- toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 2 (sous type) soient listées également et automatiquement les unes après les autres dans l'onglet terminal report ( partie TCU : en commençant sur la cellule B39 ; puis B40, B41 etc etc), tout comme la provenance (N39, puis N40, puis N41...)

- toutes les marchandises listées dans l'onglet NEW D1 et ayant le code 3 (sous type) soient listées également et automatiquement les unes après les autres dans l'onglet terminal report ( partie Cars : en commençant sur la cellule B51 ; puis B52 etc etc), tout comme la provenance (N51, puis N52...)

en fait il s'agit d'un tri en fonction du code

j'espère être plus clair maintenant

un grand merci par avance
seb
 

Pièces jointes

  • TEST escale.xlsm
    80.4 KB · Affichages: 28

JBARBE

XLDnaute Barbatruc
Re,
Je constate qu'il y a des doublons :
exemple :SA J 13/14 - 1 - TUNIS
Faut-il les éliminer ?
D'autre part, dans la feuille "New D1" les lignes 48 (Marchandise en chargement), 80 (marchandise en remport) sont -elle appelée à être modifiées ?
Bonne soirée !
 

sebbbbb

XLDnaute Impliqué
Merci pour ton retour
Oui il peut y avoir des doublons si les march sont identiques.
Pour le chargement le principe est le meme mais je pourrai me debrouiller si tu peux m aider deja sur la 1ere partie. ca me fera 1 entrainement ☺
Merci par avance
 

JBARBE

XLDnaute Barbatruc
Re,
En cliquant sur le bouton "GO"
Dans la feuille "Terminal report" J'ai fait en sorte d’insérer une ligne aux lignes 38 - 50 lorsqu’elles sont atteintes !
A tester !
Bonne nuit !
 

Pièces jointes

  • TEST escale.xlsm
    82.4 KB · Affichages: 24

sebbbbb

XLDnaute Impliqué
JBarbe

Bravo ! tu as parfaitement compris ce que je souhaitais. Un ENORME merci à toi.
Je voulais t'éviter quelques modif et les faire par moi même mais en regardant la macro je te confirme que cela me dépasse totalement.
Puis je abuser à nouveau de ton aide et de tes connaissances ?
j'ai mis à jour le tableau.
Pourrais tu adapter ta macro pour que cela marche avec la totalité des marchandises listées dans l'onglet New D1, a la fois pour les marchandises en déchargement ainsi que celles en chargement (partie droite du tableau).
Sincèrement tu m'enlèves une grosse épine du pied.
ci-joint le fichier modifié
Seb
 

Pièces jointes

  • TEST escale.xlsm
    85.2 KB · Affichages: 21

JBARBE

XLDnaute Barbatruc
Re,
J'ai neutralisé " Worksheet_Change " dans les feuilles car ils posaient problèmes !
Dans la feuille "Terminal report " une ligne supplémentaire s'ajoute lorsqu'il n'y a plus de place pour la copie !
Dans la feuille "New D1", si de nouvelles saisies doivent avoir lieu avant "MARCHANDISE EN CHARGEMENT" et ainsi avoir les lignes décalées par l'ajout de ces saisies supplémentaires, ce décalage est tenu en compte !
bonne soirée !
 

Pièces jointes

  • TEST escale_A.xlsm
    89.9 KB · Affichages: 19

sebbbbb

XLDnaute Impliqué
Génial !!!!
Tu es un king du VBA :). Ouah je suis impressionné !
Mille mercis
Dis moi : est il possible de shinter le bouton GO pour la macro s'exécute d'elle même, lorsque l'on se place dans l'onglet terminal report par exemple ?
Mais c'est déjà super. sans toi je n'aurai pas réussi.
comment pourrais je te remercier ?
seb
 

JBARBE

XLDnaute Barbatruc
Re,
J'ai abandonner l'insertion de lignes dans la feuille Terminal report car le décalage de lignes posaient problèmes !
Néanmoins, j'ai fait en sorte qu'il y ai suffisamment d'espace pour la copie
bonne soirée !
 

Pièces jointes

  • TEST escale_A.xlsm
    100.8 KB · Affichages: 13

sebbbbb

XLDnaute Impliqué
Bonjour JBarbe
j'ai redéfini la mise en page de mon document et donc fait de légères modif sur ton code pour que les infos s'intègrent sur les bonnes lignes.
Tout marche nickel.
Encore mille merci pour ton aide.
Plus que quelques tests a réaliser après l'avoir intégré à un autre fichier et ce sera parfait pour moi.
Comment as tu toutes ces connaissances sur le VBA ? cela me donne vraiment envie de me former à cela.
seb
 

sebbbbb

XLDnaute Impliqué
Mince, je crois que je vais t'embêter à nouveau si tu veux bien.

j'aimerai que lorsque l'on entre une marchandise (en déchargement ou en chargement) et que l'on oublie d'entrer le code correspondant il y ait un message d'alarme qui se lance.

j'ai bien trouvé ce type de message mais il y a un hic :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("D1 Airbus").Range("D19") = "" Then MsgBox "SVP INDIQUER LE CODE MARCHANDISE": Cancel = True
End Sub

Je suis persuadé que tu sauras me dépanner
Merci JBarbe
 

Discussions similaires

Réponses
5
Affichages
365