Macro extraction de données à la suite

Bonjour à tous,

Je reviens vers vous car vous êtes toujours d'une aide précieuse pour la conception de mes fichiers excel.

Aujourd'hui je bloque sur la création d'une macro.

Contexte : J'ai un fichier avec une base de données que je remplis au fur et à mesure avec des fichiers que je reçois chaque semaine. Les fichiers que je reçois chaque semaine ont toujours la même forme.

Je souhaiterais donc créer une macro qui permettrait d'éviter de faire des copier-coller à la main (avec risque de mauvaise manipulation pour des utilisateurs peu habitués à l'outil Excel).

La macro permettrait alors, en sélectionnant tout le fichier à copier, de coller les données à la suite dans mon fichier de base, en enlevant les mises en formes inutiles du fichier que je reçois (ex : titre, cellules fusionnées...).

Si quelqu'un aurait une idée de code pour moi afin que je puisse avancer, ça fait deux jours que je bloque dessus.

Je vous joins 2 fichiers : le premier donne une idée de mon fichier de base où je compile toutes les données

le deuxième représente une base de données type que je reçois chaque semaine.

Merci d'avance à ceux qui se pencheront sur mon sujet

Le_sablais

44fichier-2.xlsx (159.06 Ko)

Bonjour

Un essai.

En espérant avoir plus de chance d'avoir un retour que lors de ma dernière proposition où, pourtant, Jean-Eric était intervenu :

https://forum.excel-pratique.com/excel/previsions-stock-avec-historique-t53853.html

Bye !

Bonjour, et merci d'avoir répondu.

Ton code fonctionne très bien sur les fichiers exemple, mais je n'arrive pas à l'adapter sur mon fichier de base, je ne m'y connais pas du tout en userform... Par ailleurs, est-il possible de mettre le bouton d'activation de macro sur un autre onglet ?

Par ailleurs, un ami m'a envoyé le code suivant : il fonctionne bien sur un petit fichier exemple mais sur mon fichier original, il ajoute un grand nombre de lignes vides entre les données déjà présentes et les nouvelles données extraites. Si jamais quelqu'un connait la faille dans ce code.

Avoir ton code gmb et celui ci-dessous pourrait m'être très utile pour la suite

Sub recup_données()

nf = Application.GetOpenFilename("fichiers xls,*.xls*")

If Not nf = False Then

Workbooks.Open Filename:=nf

A = ActiveWorkbook.Name

derligne = Workbooks(A).Sheets(1).Range("A65000").End(xlUp).Row - 1

Workbooks(A).Sheets(1).Range("A5:m" & derligne).Copy ThisWorkbook.Sheets(1).Range("a65000").End(xlUp).Offset(1, 0)

Workbooks(A).Close

End If

End Sub

A vous lire

Le_sablais

Au temps pour moi, j'ai trouvé la faille. Mon fichier de base est un tableau, avec des formules à droite des données extraites, les formules s'étaient étendues, d'où les lignes "vides" pas si "vides" que ça au final.

En tout cas merci beaucoup d'avoir pris le temps de te pencher sur mon sujet . Ta solution va m'être d'une grande aide, j'ai compris comment ça fonctionnait !

et désolé pour l'ancien post, j'étais sûr d'avoir répondu, mais j'ai dû basculer directement sur mon fichier en voyant la réponse.

Encore merci et à bientôt

le_sablais

Tu écris :

Ton code fonctionne très bien sur les fichiers exemple, mais je n'arrive pas à l'adapter sur mon fichier de base

Alors joins ton fichier de base !

...Si jamais quelqu'un connait la faille dans ce code.

Pour que cet autre code fonctionne correctement, une solution (parmi d’autres) :

Supprime la mise en forme «Tableau » :

• Clic sur une cellule du tableau

• Clic sur « Outil de tableau » dans le bandeau

• Clic sur « Convertir en plage » dans le pavé « Outils » du bandeau

• Repondre oui à la question posée

Puis lancer la macro

Bye !

Bonjour,

Pour mon fichier de base je ne peux pas le joindre, il pèse 8Mo.

Et pour mon tableau, je ne converti pas en plage car j'ai besoin que mes formules à droite des données s'étendent d'elles mêmes, sachant que j'ajoute environ 2000 lignes en plus par jour dans mon fichier.

Mais tout va bien je m'en suis sorti

A bientôt

Le_sablais

Rechercher des sujets similaires à "macro extraction donnees suite"