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
Re,
dans la macro " transfert_Dechargement " insère ce code en gras bleu au bon endroit :
With Sheets("New D1")
For i = 19 To 65536
If .Cells(i, 2) = "" Then Exit Sub
If .Cells(i, 4) = "" Then
MsgBox " Vous avez oublié le type à la cellule D" & " " & i
Exit Sub
Else
If .Cells(i, 4) = 1 Then
--------------------------------------------------------------------------------
dans la macro " transfert_Chargement " insère ce code en gras bleu au bon endroit :
For i = B To 65536
If .Cells(i, 2) = "" Then Exit Sub
If .Cells(i, 4) = "" Then
MsgBox " Vous avez oublié le type à la cellule D" & " " & i
Exit Sub
Else
If .Cells(i, 4) = 1 Then
------------------------------------------------------------------------------------
Peux-tu nous mettre ton fichier modifié !
Mon apprentissage VBA c'est fait par l'intermédiaire de vieux bouquin (exemple : VBA Excel 2003 de Micro Application qui n'existe plus ) et surtout en consultant régulièrement ce forum !
Cela dit, j'ai quelques difficultées à comprendre certaines macros fait par des bénévoles comme Job75 etc....( toutes mes excuses pour les autres) parce que je n'ai pas appris leur genre de programmation !
bonne journée !
 
Dernière édition:

sebbbbb

XLDnaute Impliqué
Re-moi
j'ai un p'tit prob :-(
La macro que tu m'as donné pour activer automatiquement les changements à chaque ouverture de l'onglet 'terminal report' ne fonctionne plus.
j'ai beau retourner le prob dans tous les sens rien n'y fait.
par contre le bouton fonctionne toujours
Suis désolé.
peux tu m'expliquer d'où vient ce bug stp
merci
je te joins donc le fichier actualisé
Seb
 

Pièces jointes

  • TEST escale.xlsm
    91.2 KB · Affichages: 18

JBARBE

XLDnaute Barbatruc
Re,
Prends plutôt ce fichier qui contient plus de lignes dans la feuille "Terminal report " car l'ajout de lignes supplémentaires avec macro n'est pas possible dans ce cas de configuration !
La macro que tu dis fonctionne très bien chez moi !
Quand à une macro qui empêche les oublies de saisie, cela est fait !
Bonne journée !
 

Pièces jointes

  • TEST escale_A.xlsm
    101.3 KB · Affichages: 20

sebbbbb

XLDnaute Impliqué
Merci pour ta réactivité
en fait j'ai trouvé d'où venait le problème. c'était une autre macro qui transformait toutes mes données en majuscule. lorsque je supprimais une donnais celà bloquait toutes les autres macros d'où mon problème.
j'ai trouvé une autre solution pour y remedier donc le fichier marche de nouveau très bien...grâce à toi
merci et bon WE
seb
 

sebbbbb

XLDnaute Impliqué
Mon cher JBarbe
désolé de te solliciter à nouveau mais je suis sur que celà va titiller ta curiosité.
je suis tomber sur un bug que je n'avais pas vu jusqu'à présent.
je t'explique :
lorsque je rentre des données dans l'onglet 'terminal report' sous les titres Reference / Qty / started discharging / passed vessel's ramp, toutes ces infos disparaissent lorsque je fais une modif dans D1 Airbus.
en effet les modifs sont transféréss sur l'onglet 'terminal report' comme il se doit, mais celles inscrites dans les autres cellules disparaissent.
Y a t il moyen de corriger stp :)
merci par avance
seb
 

sebbbbb

XLDnaute Impliqué
aie aie aie
big problem. Car du coup celà efface toutes mes données que je mets sous les titres ' Reference / Qty / started discharging / passed vessel's ramp' (et sur les 2 cotes du tableau)
Y a t il moyen de modifier la macro de façon à ce que les changements se fassent seulement dans les cellules 'marchandise' et provenance' dans l'onglet 'terminal report' ?
sinon je reviens à la case départ
merci pour ton aide
 

JBARBE

XLDnaute Barbatruc
Re,
Il faut que la présentation initiale dans la feuille "Terminal report " soit définitive !
Sinon la macro doit être modifiée !
ça ne fonctionne pas avec une baguette magique et ensuite un miracle sans référence !!!!!!!
Est-ce clair !
bonne nuit !
 
Dernière édition:

sebbbbb

XLDnaute Impliqué
Bonjour JBarbe
j'espère que ce sera la dernière fois que je t'embête.
voilà donc la dernière mouture du fichier avec mise en page du terminal report qui ne devrait pas changer (je voudrais que tout tienne sur une seule page).
comme je te l'expliquais, lorsque j'insère des données sous les titres ' Reference / Qty / started discharging / passed vessel's ramp' (et sur les 2 cotes du tableau), celles ci disparaissent lorsque je fais des modifs dans l'onglet 'D1 Airbus'. j'ajoute que je peux être amené à faire plusieurs fois des modifs dans mes données 'D1 Airbus'.
Forcément celà est problématique si les données (de l'onglet terminal report) disparaissent au fur et à mesure des modifs.
evidemment si j'ai également des modifs à faire dans l'onglet
merci encore pour ton aide et ta patience.
 

JBARBE

XLDnaute Barbatruc
Re Bonjour à tous,
Nécessaire fait avec la modif de cette ligne de code :
Code:
Sheets("Terminal report").Range("B22:C65536,N22:O65536,Q22:R65536,AC22,AD65536") = ""
Bonne journée !
 

Pièces jointes

  • TEST escale_A.xlsm
    101.8 KB · Affichages: 21

Discussions similaires

Réponses
5
Affichages
365

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510