VBA Importation d'autres documents Excel

Bonjour,

Je suis en train d'essayer de faire quelque chose qui se présente être plus complexe que ce que je pensais ^^"

Je cherche à importer chaque mois d'un fichier B (Qui aura la même structure mais des valeurs différentes) vers un fichier A (Qui servira de base de donnée).

Alors je sais importer une première fois les informations via le code suivant:

Sub Importer_Données()

Workbooks("Principal.xlsm").Worksheets("Feuil1").Range("b5:d23").Value = Workbooks("Données.xlsx").Worksheets("Feuil1").Range("A2:c20").Value

End Sub

Mais je bloque sur 2 points:

1. Je voudrai qu'à chaque lancement de la macro les informations se "collent" en dessous de la précédente impotation.

2. Dans la colonne "A" je souhaiterai coller la date du mois correspondant à l'importation (Que j'ai déjà placé sur la cellule G4).

Et que cette date soit "collée" en face de chaque ligne importée.

Je vous met en pièce jointe les fichier tests que j'utilise.

Je vous remercie par avance.

J'apprend chaque fois davantage des solutions que vous m'apportez ^^

Bon week-end à vous.

Olivier

11donnees.xlsx (9.52 Ko)
15principal.xlsm (15.67 Ko)

Bonjour,

une proposition

Sub Importer_Données()

'On importe l'ensembles des documents

    With Workbooks("Principal.xlsm").Worksheets("Feuil1")
        dl = .Cells(Rows.Count, 2).End(xlUp).Row
        .Cells(dl + 1, 2).Resize(19, 3).Value = Workbooks("Données.xlsx").Worksheets("Feuil1").Range("A2:c20").Value
    End With

End Sub

HAHAHA

C'est parfait pour la partie copiage de données à la suite, merci beaucoup ^^

Désolé pour le temps qu'il m'a fallu pour consulter votre réponse alors que de votre coté vous avez été très réactif.

Par contre auriez vous une idée pour :

2. Dans la colonne "A" je souhaiterai coller la date correspondant à l'importation (Que j'ai déjà placé sur la cellule G4).

De sorte que cette date soit "collée" pour chaque ligne importée.

Bonjour,

essaie ceci

Sub Importer_Données()

'On importe l'ensembles des documents

    With Workbooks("Principal.xlsm").Worksheets("Feuil1")
    ' dl = dernière ligne utilisée en colonne 2
        dl = .Cells(Rows.Count, 2).End(xlUp).Row 
        'on copie A2:C20 de feuil1 de données xlsx dans une plage (19 x3) de principal.feuil1 qui commence en ligne dl +1 colonne 2
        .Cells(dl + 1, 2).Resize(19, 3).Value = Workbooks("Données.xlsx").Worksheets("Feuil1").Range("A2:c20").Value
        ' on copie G4 sur une plage (19x1) qui commence en ligne dl+1, colonne 1
        .Cells(dl + 1, 1).Resize(19).Value = .Range("G4")
    End With

End Sub

Au top, tout fonctionne

Merci encore h2so4.

Bonne fin de week-end.

Salut Olivier,

"je te trouve vraiment sans cœur !"
screen 1

en tout cas, je te décerne le d'un des avatars les plus gores, car y'a aussi celui-ci (réservé aux plus de 18 ans) :

[spoiler="seuls les adultes ont le droit de cliquer ici !"]

screen 2

ce rideau de sang, c'est pour un remake de « massacre à la tronçonneuse » ?

[/spoiler]

dhany

Je ne voyais pas ou tu voulais en venir jusqu'à ce que j'affiche le reste de ton message ^^

eh oui : y'avait déjà un 1er spoiler ... et aussi un 2ème spoiler dans le 1er !

(façon poupées russes = poupées gigognes)

les spoilers, c'est pour le suspense, comme les romans de Stephen King ;

les avatars gores, ça s'marie très bien avec les livres d'horreur du King !

dhany

Rechercher des sujets similaires à "vba importation documents"