inventaireVBA.xlsm (31,9 Ko)
Bonjour à tous,
j’utilise un ERP qui me permets pas d’avoir les données dont j’ai besoin en une seul fois, je dois exporter 4 fichiers différents ou je récupère les colonnes dont j’ai besoin. j’avais fait une petite macro en faisant des copier coller dans le fichier origine mais je trouve ça long à force.
je souhaiterai automatisé des transferts de données de 4 fichiers en format « .TSV » (je ne peux vous les transférer car format non accepté) vers mon fichier ci-joint dans les colonnes adéquates.
le nom des fichiers TSV commence tous par « fnd_gfm_SERIE DE NUMERO »
Sachant que je ne prends que quelques colonnes sur chaque fichier.
sur un des fichiers je prend les colonnes suivantes :
« Article » (qu’il faut convertir en nombre de 13 chiffres) que je colle en C
« Quantité système » que je colle en E
« Ajustement : UdM » que je renomme « unité de conditionnement » que je colle en F
« Ajustement : Quantité » que je renomme « Ecart » que je colle en G
« Ajustement : Valeur » que je renomme « Valeur écart » que je colle en H, à mettre en valeur absolue (pas de s gne négatif)
Sur un autre des fichiers je prend la colonne :
« Emplacement » que je colle en A
Sur un autre des fichiers je prend la colonne :
« Numéro » que je colle en B
et sur le dernier fichier je prend la colonne :
« Lot » que je colle en D
mise en forme du final :
tout centré à l’horizontale et à la verticale
hauteur des lignes 20
somme auto en bas de la colonne H (Valeur écart)
Si on peut faire fermer les fichiers TSV une fois les données récupérées ça serait cool.
j’espère avoir été assez explicite.
A dispo pour plus de détail!
Ces TSV, ce sont une sorte de TXT ou CSV ou … ?
Alors renommez les extentions comme TXT ou CSV et mettez-les comme PJ.
Sans cela, c’est difficile à vous répondre
Ci-joint ma proposition
Un onglet « Paramètres » créé dans lequel colonne « A » est intégré la liste des fichiers source
A mettre à jour au gré de leur fluctuation
Ces fichiers sont à mettre dans le même répertoire que celui de leur recopie ci-joint
Après avoir réalisé cette mise en place et mis à jour la colonne « A » de l’onglet « Paramètres » :
Onglet « Inventaire » cliques sur le bouton « Récupération »
Re, j’ai un soucis. il me décale tout et il me zappe certaine ligne. 1.csv (2,0 Ko) 2.csv (3,3 Ko) 3.csv (2,4 Ko) 4.csv (2,4 Ko) inventaireVBA.xlsm (44,8 Ko)
pourrais tu m’ajouter ces règles en même temps:
Columns(« H:H »).Select
Selection.NumberFormat = « #,##0.00 $ »
Columns(« C:C »).Select
Selection.NumberFormat = « 0000000000000 »
et aussi avant d’effacer le contenu de A2 jusqu’à la fin peux tu désactiver le filtre automatiquement et le réactiver à la fin au moment de la somme auto?
Comme tu peux constater je renomme mes fichiers 1 2 3 4 comme ça je ne le change pas dans paramètres et chaque export je nomme mes fichiers, avec le même nom, plus rapide et plus simple
bonjour,
Non effectivement ce n’est pas voulu, je voulais que cela transforme en nombre monétaire (€ que j’ai modifié) avec seulement 2 chiffres après la virgule et que cela fasse la somme à la fin. mais au pire on va remettre en nombre avec seulement 2 chiffres après la virgule et annulé la somme auto car même en le faisant moi même cela mets 0 en total.
par contre j’ai remarqué que ça ne prenais pas en comptes les doublons « Article » car à la fin il me manque les « Numéros » 251,347,357 et 390 alors qu’on les retrouves bien sur le fichier N°4.
« par contre j’ai remarqué que ça ne prenais pas en comptes les doublons « Article » car à la fin il me manque les « Numéros » 251,347,357 et 390 alors qu’on les retrouves bien sur le fichier N°4. »
C’est à dire si il y a doublon d’article comment traite t’on ceux-ci ?
j’ai besoin de toutes les lignes sinon cela fausse mes données. après l’article apparait sur chaque fichier et dans le même ordre donc on peut peut-être coller à chaque fois l’article et les autres colonnes à chaque fois.
Pas très bien compris que te manque t’il dans le resultat ?
Peux-tu me transmettre le fichier avec les données obtenues et ajouter à la mains les manquants au titre de quel fichier que tu surlignes en couleur afin de bien les cerner et de comprendre le pourquoi de ce rajout
Merci
En analysant le fichier 4 effectivement les articles sont en doublon donc c’est sur le deuxième que les valeurs sont récupérées
On peut pour éviter de dupliquer ceux-ci mettre dans chaque colonne des données récupérées les différentes valeurs séparées par une balise comme ceci :
pour l’article « 5305145376696 » champ « Numéro » mettre ainsi « 251/252 »
avec de nouveau fichier, je te joins ce que j’avais fait et en parallèle le tien avec les écarts
après peut être partir du mien si c’est plus simple. 1.csv (4,8 Ko) 2.csv (6,6 Ko) 3.csv (3,9 Ko) 4.csv (4,5 Ko) inventaireVBA.xlsm (47,1 Ko) inventaire.xlsm (157,1 Ko)
Testes ce fichier
Touts les articles ont leur données récupérées des fichiers sur une ligne unique
Pour chacun d’eux une même donnée est cumulée dans la même colonne avec le séparateur « / »
Autant d’éléments cumulés avec ce séparateur autant de présence de l’article dans chaque fichier exemple :
cet article est présent en double exemplaire dans les fichiers « 1.tsv » « 2.tsv » « 3.tsv » soit 3 fois (3 fichiers) 2 fois (en double dans chaque fichier) avec la valeur « NB » pour cette même donnée « unité de conditionnement » soit 6 fois « NB »
Ainsi est traité la récupération des données de chaque articles
Le traitement réalise la somme des valeurs récupérées colonne « H » (« valeur Ecart ») qu’il reporte colonne « H » dernière cellule
Donc abandon de la formule
c’est un peu trop brouillon et pour mes analyses ça va complexe.
Et si on part de mon fichier, peut on automatiser le copier-coller des 4 fichiers dans les onglets correspondant et après ma macro fait le reste?
Autant par fichier récupérer les données de chaque article sans vérifier leur présence dans la recopie déjà effectuée et d’accepter les doublons engendrés chaque ligne portant les données récupérées par article du fichier traité
Pour un article les données du premier fichier sur une ligne ce même article pour un autre fichier avec ou non les mêmes données sur une autre ligne
Autant de lignes que d’articles par fichier fois le nombre de fichiers pas d’autre choix sur chacune d’elle uniquement les données de son fichier et non celles du même articles des autres fichiers
tu pourrais pas copier chaque fichier dans mes onglets du genre en renommant le fichier quand je l’enregistre. 2.csv (6,6 Ko) 3.csv (3,9 Ko) 4.csv (4,5 Ko) 1.csv (4,8 Ko)
fichier lot va dans l’onglet lot
fichier emplacement dans l’onglet emplacement
ETC
c’est peut-être plus simple et ensuite ma petite macro fait le reste
qu’en penses tu?