Imcrémentation données fichier X vers fichier Y - VBA

Bonjour !

Premier message sur ce forum, n'hésitez pas à me faire part de vos remarques si je commets un impair dans mes formulations

Je suis en train de monter un document et j'aurai besoin d'un coup de main pour une macro.

Ce qu'elle doit faire :

Redistribuer les données d'un fichier dans différents onglets d'un autre, en fonction d'un code prédéfini, et que la mise à jour se fasse d'un simple clic..

Je m'explique.

J'ai plus de 4000 lignes sur mon fichier de base, avec des données relatives à la sécurité, codées selon le type de danger nommé TD (électricité, incendie, manutention, produits toxiques...).

Sur mon fichier final, j'ai donc X feuilles nommées TD 1 ; TD 2 etc..., relatives bien évidemment à chaque type de danger.

Mon objectif est d'arriver à faire en sorte que les données du fichier de base se distribuent dans chaque feuille du fichier final, et pour éviter d'effacer l'historique, que la macro fasse en plus une recherche de la dernière ligne vide pour y incrémenter les données.

J'ai quelques morceaux de code mais ça ne fonctionne pas :

Sub CopyPasta()
Dim x As Workbook
Dim y As Workbook
Dim vals as Variant

Set x = Workbooks.Open("histo.xlsx")
Set y = Workbooks.Open("DUN.xlsx")

'Ici définir les cases A1 -> AX comme les différents TD
vals = x.Sheets("Données").Range("A1").Value

y.Sheets("TD 1").Range("A1").Value = vals 
Range("A" & Rows.Count).End(xlUp).Offset(1).Select 
ActiveSheet.Paste

'Close x:
x.Close

End Sub

Je sais déjà que ma macro est foireuse, si vous aviez des idées pour la rendre viable je suis preneur

J'ai déjà regardé quelques sujets sur le forum, certains permettant de faire une partie de ce que je souhaite, mais pas tout à la fois malheureusement

Cordialement,

bonjour,

Fournir un fichier source avec quelques lignes de TD

Un fichier destination avec au moins 2 feuilles de TD 1 et TD 2

Les fichiers et surtout leurs feuilles doivent avoir la même disposition que les originaux (lignes et colonnes vides s'il y en a, en-têtes de colonne)

Indiquer également si chacun des classeurs comportent des plages nommées (dans le Gestionnaire de nom)

A+

galopin01 a écrit :

bonjour,

Fournir un fichier source avec quelques lignes de TD

Un fichier destination avec au moins 2 feuilles de TD 1 et TD 2

Les fichiers et surtout leurs feuilles doivent avoir la même disposition que les originaux (lignes et colonnes vides s'il y en a, en-têtes de colonne)

Indiquer également si chacun des classeurs comportent des plages nommées (dans le Gestionnaire de nom)

A+

Bonjour,

En réponse :

Fichier DUN.xlsx :

https://www.cjoint.com/c/FFriOsCk6ut

Fichier histo.xlsx :

https://www.cjoint.com/c/FFriQv5FKEt

Les classeurs n'ont pas de plages nommées

Le facteur discriminant serait la colonne C du fichier histo.

Je reste à votre disposition,

@+

C'est incompréhensible !

Les feuilles UT et histo n'ayant ni le même nombre de colonnes ni les mêmes en-têtes je ne vois pas ce que je peux faire de ça...

A+

Rechercher des sujets similaires à "imcrementation donnees fichier vba"