Macro copie de données dans des cellules vides

Alex52

XLDnaute Nouveau
Bonjour a tous ! :)

Alors voila : étant novice sous excel je decide de me lancer dans la création d'une macro en l'apparence simple :

la macro que je veux créer doit copier les données d'un classeur vers un autre classeur. Je m'explique : dans mon classeur "source" j'ai plusieurs colonne avec des données je veux juste copier ces données dans une feuille de mon autre classeur. La seule contrainte est que ces données doivent être copiées dans des cellules vides ( a la suite de mes données deja présentes) pour ne pas écraser mes données précédentes.
N'ayant jamais été très fort en prog je solicite donc votre aide :confused: . Merci d'avance pour vos réponses et je vous souhaite a tous une bonne journée !
 

macsscam

XLDnaute Junior
Re : Macro copie de données dans des cellules vides

Bonjour Alex52,

Pour copier des données d'un fichier à un autre, tu peux t'inspirer de discussions existantes, par exemple celle-ci : https://www.excel-downloads.com/threads/copier-des-donnee-dun-fichier-a-lautre.139936/

Pour trouver la dernière cellule vide d'une feuille (pour copier tes données à la suite des autres), tu peux t'inspirer de cette discussion et du code présenté : https://www.excel-downloads.com/threads/derniere-cellule-vide-en-vba.129645/


N'hésite pas à revenir s'il te manque des informations,
Bon courage,

--
macsscam
 

roro69

XLDnaute Impliqué
Re : Macro copie de données dans des cellules vides

Bonjour à essayer
Sub copalex()
Dim wb As Workbook
Dim sh As Worksheet
Dim n
'Il faut que ton classeur de destination soit dans le meme dossier et fermer
If Dir(ThisWorkbook.Path & "\?.xls") <> "" Then 'à la place du point d'interrogation mettre le nom ou tu va coller tes donner
Set wb = Workbooks.Open(ThisWorkbook.Path & "\?.xls") 'à la place du point d'interrogation mettre le nom ou tu va coller tes donner
On Error Resume Next
Set sh = wb.Sheets("?") 'NoM de la feuille àù tu vas coller tes données
On Error GoTo 0
Application.DisplayAlerts = False
Sheets("Nomdetafuilleoutucopietesdonées").Range("plageàcpier").Copy wb.Sheets("?").Range("A1").End(xlDown).Offset(1, 0)
Application.DisplayAlerts = True

wb.Save

wb.Close
End If
End Sub
A++
 

Alex52

XLDnaute Nouveau
Re : Macro copie de données dans des cellules vides

Voila je suis toujours bloqué :( , je joint un fichier a titre d'exemple pour que vous compreniez mieux ce que souhaite réaliser.
En fait il faudrait copier les données de la feuille nommée source vers la feuille destination mais la feuille source est une feuille qui change tout les jours donc elle contient des données nouvelles chaque jour il faut donc mettre a la suite des autres dans la feuille destination.Après de plus en amples recherches et des essais de macros je suis donc toujours bloqué voila pourquoi je solicite de nouveau votre aide.

Merci
 

Pièces jointes

  • exemple.xls
    41 KB · Affichages: 83
  • exemple.xls
    41 KB · Affichages: 93
  • exemple.xls
    41 KB · Affichages: 93

Alex52

XLDnaute Nouveau
Re : Macro copie de données dans des cellules vides

Merci RoRo69 pour ta réponse :) mais la macro me retourne une erreur et lorsque je lance le debogage se serait la ligne suivante qui pose problème :
.Copy Feuil1.Range("A2").End(xlDown).Offset(1, 0)
il me dit : erreur définie par l'aplication ou par l'objet ??
(Sachant que j'ai renomé mes feuille Feuil1 et Feuil2 au lieu de souce et destination)

merci a toi de me consacrer de temps pour mes erreurs de débutant !!
 

roro69

XLDnaute Impliqué
Re : Macro copie de données dans des cellules vides

Bonjour mets ce code à la place:
Dim Rgnumform As Range
Set Rgnumform = Feuil2.Range("A2", Feuil2.Range("D65536").End(xlUp))
If Feuil1.Range("A2") = "" Then
With Rgnumform
.Select
.Copy Feuil1.Range("A2")
End With
Feuil1.Select
Else
With Rgnumform
.Select
.Copy Feuil1.Range("A1").End(xlDown).Offset(1, 0)
End With
Feuil1.Select
End If
 

Discussions similaires

Statistiques des forums

Discussions
312 292
Messages
2 086 856
Membres
103 401
dernier inscrit
sibfil