Coller les données dans la premiere ligne vide

Bonjour tout le monde,

je vient vers vous pour solliciter votre aide pour alimenter une base de données à partir d'une liste des réclamations.

J'ai essayé de commencer mon code mais puisque je suis encore débutante en VBA, je suis bloquée sur :

- Le fait de coller les données que j'importe à chaque fois dans la premiere ligne vide et non pas ecraser à chaque fois les données qui sont déja sur le document.

je joint mon fichier à ce message.

je vous remercie par avance pour votre aide

112prototype.xlsm (19.52 Ko)

Bonjour Saloumakh, bonjour le forum,

Ton code est correct, juste cette ligne à modifier :

ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

Je vous remercie tout d'abord pour votre réponse , mais le probléme maintenant c'est que quand j'importe les données ça s'ajoutent sur la ligne suivante (ligne 3 puisque j'ai commencé par la ligne 2 et puis 4 et ainsi de suite) qu'est déja remplie en fait, et non pas sur la ligne vide.

Re,

Envoie le fichier qui contient les données à copier pour que l'on puisse comprendre d'où vient le problème.

Voila, je joins à ce message un exemple de fichier (base de donnée) que je voulais importer dans le document que je veux réaliser sauf que, y'en a d'autres qui contiennent 32 colonnes et des miliers de lignes ça dépend de chaque fichier.

Ce que je voulais réaliser c'est importer à chaque fois des fichiers ( base de données ) sur mon document , sans effacer ce qui était déja là-dedans.

Merci à vous

64base-de-donnee.xlsx (25.58 Ko)

Re,

Ok je comprends pourquoi et je m'en doutais un peu. Le tableau ne commence pas en A1 et ce n'est pas un tableau structuré (listObject).

La ligne :

MonClasseur.Sheets(1).Range("A1").CurrentRegion.Copy

ne copie rien du tout.

Est-ce que le tableau commence toujours dans C2 pour tous les fichiers ou non ?

Re,

En fait pour tous les fichiers , le tableau commence par A3 .

Pour la ligne qui copie les données, qu'est ce que je doit mettre à ça place ?

Merci d'avance

Re,

Tu me dis que tous les tableaux commencent en A3 et l'exemple que tu donnes commence en C2. Tu as l'art d'embrouiller les choses on dirait...

Sub Recupererdata()

    'Déclaration des variables
    Dim ListeFichier As Variant
    Dim MonClasseur As Workbook

    'On désactive le presse papier et le rafraichissement de l'écran

    Application.CutCopyMode = False
    Application.ScreenUpdating = False

    'On récupére le fichier des données à copier
    ListeFichier = Application.GetOpenFilename(Title:="Sélectionner votre liste des DCs ", _
                   filefilter:="Fichiers Excel(*.xls*),*xls*", ButtonText:="Cliquez")
    'Prévoir le cas du bouton Annuler
    If ListeFichier <> False Then
        'On affecte le fichier sélectionné
        Set MonClasseur = Application.Workbooks.Open(ListeFichier)
        'On copie les données de la feuille 1 du classeur séléctionné
        MonClasseur.Sheets(1).Range("A3").CurrentRegion.Copy

        'On colle les données dans la premiére ligne vide

        ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues

        'On désactive les messages d'alerte de Microsoft
        Application.DisplayAlerts = False
        'On ferme le classeur source
        MonClasseur.Close
    End If

Bonjour,

Veuillez excuser mon retard, j'ai pas votre message.

J'ai essayé votre programme mais je comprend pas pourquoi il fonctionne pas.

Est ce que vous pouvez m'aidez pour le modifier s'il vous plait

Je joins mon fichier à ce message.

Je vous remercie d'avance

39prototype.xlsm (19.80 Ko)

Re,

Enfin ça fontionne parfaitement! Merci beaucoup

Le seul petit souci que j'ai encore,c'est que la base de donnée que j'importe, est collé sans avoir conserver la mise en forme ( police, bordure, couleur....) qu'est ce que je dois modifier pour que je garde exactement la méme mise en forme svp ?

Je vous remercie d'avance

Rechercher des sujets similaires à "coller donnees premiere ligne vide"