bonjour à tous,
voila ma petite question, comment je pourrais faire pour copier des données d'un classeur, vers un autre ?
en sachant que c'est pour faire une base de donnée avec le deuxième classeur
voila en attendant de vous lire
salutation
bonjour à tous,
voila ma petite question, comment je pourrais faire pour copier des données d'un classeur, vers un autre ?
en sachant que c'est pour faire une base de donnée avec le deuxième classeur
voila en attendant de vous lire
salutation
Heu.... Copier-Coller... non ?
80% des pannes informatiques se situent entre le clavier et la chaise...
L'informatique ça vous énerve, prenez 5mns de détente ici
=========== ===========
Une fois que le problème à trouvé une solution n'oubliez pas le
oui j'y avais déja pensé, mais je voudrai que cela ce fasse automatiquement, sa serais plus pratique pour moi ^^
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
heu ... nan ... pas vraiment, sa serait trop long ... ^^
non en fait je voudrais que lors de la fin de la dernière macro de mon programme qui se trouve dans mon premier classeur, qu'elles se copies d'elle même dans le deuxième classeur.
bon je vais reformuler un peu tout sa ^^
Mon premier classeur se compose de deux feuilles, dans chacune de ces feuilles il y a un bouton qui me permet de faire tous les calculs des feuilles respective.
Mon but est de copier automatiquement à chaque fin de calcul les données dans mon deuxième classeur ou la base de donnée sera faite.
^^voila je pense cette fois j'ai mieu expliquer ^^
merci d'avance
le croco t'a donné la réponse il me semble, tu copies/colles tes données dans ton autre classeur, il suffit de mettre la procédure de copier/coller en fin de procédure de calcul.
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
oui je suis d'accord avec vous, mais pour chaques calculs que je fait, je voudrais que les résultats se place toujours une ligne en dessou des précédent, c'est sa qui me bloque en fait ...
En concidérant que tes deux classeurs sont ouverts, voici un petit exemple qui va copier une plage de cellules A1:C10 de la feuille2 du classeur1 vers la feuille2 du classeur2, à la suite des données précédemment copiées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub Macro1() Dim ShSource As Worksheet, ShDest As Worksheet Set ShSource = Workbooks("classeur1.xls").Sheets("Feuil2") Set ShDest = Workbooks("classeur2.xls").Sheets("Feuil2") ShSource.Range("A1:C10").Copy ShDest.Range("A65535").End(xlUp).Offset(1, 0) End Sub
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
merci pour ta réponse,
maintenant est ce que tu pourrais m'aider pour que à chaque fois que je fais des calculs, il me les copies sur la ligne suivante dans ma base de donée ?
bin...euuhhh...il me semble que c'est ce que je viens de t'expliquer
Tu as une procédure qui réalise des calculs, à la fin de cette procédure tu ajoutes les quelques lignes de code en adaptant la plage de cellules, les noms de classeurs et de feuilles. Je ne vois pas très bien ce que je peux faire de plus (à part faire couler le café )
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
ben une bonne tasse de café serais la bienvenu
en tout cas merci bien pour ton aide je pense que sa va m'aider énormément
un grand merci pour ton aide
Salut à tous
fring déolé de critiquer ton code, maisdevrait présenter une erreur : copy n'admet pas, à ma connaissance Offset. Moi, je remplacerais
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShSource.Range("A1:C10").Copy ShDest.Range("A65535").End(xlUp).Offset(1, 0)par
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShDest.Range("A65535").End(xlUp).Offset(1, 0)Mais j'ai pas testé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShDest.Range("A" & shdest.[A65535].End(xlUp).row + 1)
A+
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
heu je suis désolé de revenir vous embêter un peu mais j'ai encore un petit problème ...
j'ai utiliser donc le code donné au dessu, mais mis à ma sauce bien évidement ce qui donne :
et une fois que je vais dans le classeur de la base de donnée, il y a écrit : #DIV/0!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub macro1() Dim ShSource As Worksheet, ShDest As Worksheet Set ShSource = Workbooks("projet_stage.xls").Sheets("STAT_GOOD") Set ShDest = Workbooks("Base_de_Donnée.xls").Sheets("BDD") ShSource.Range("C17:G17").Copy ShDest.Range("C5").End(xlUp).Offset(1,0) End Sub
même en remplaçant :
même erreur dans la base de donnée ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub macro1() Dim ShSource As Worksheet, ShDest As Worksheet Set ShSource = Workbooks("projet_stage.xls").Sheets("STAT_GOOD") Set ShDest = Workbooks("Base_de_Donnée.xls").Sheets("BDD") ShSource.Range("C17:G17").Copy ShDest.Range("C" & ShDest.[A65535].End(xlUp).Row + 1) End Sub
Oui...je n'ai pas réfléchi suffisament, ce que je t'ai proposé il copie tout, y compris les formules et c'est ce qui coince dans le fichier de destination.
Essaye ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Macro1() Dim ShSource As Worksheet, ShDest As Worksheet Set ShSource = Workbooks("projet_stage.xls").Sheets("STAT_GOOD") Set ShDest = Workbooks("Base_de_Donnée.xls").Sheets("BDD") ShSource.Range("C17:G17").Copy ShDest.Range("C65535").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
oui voila la sa marche trés trés bien ^^
grâce à ce bon en avant, j'ai une autre question qui me vient,
je voudrai copier donc deux lignes mais les placer l'une à coté de l'autre dans la base de donné, comme par exemple la ligne C17:G17 et la ligne C18:G18
parceque jusqu'à maintenant elle se place l'une en dessou de l'autre
Salut jackall et le forum
Je suppose que tes lignes contiennent des formules en adressage relatif ?
à remplacer par
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShSource.Range("C17:G17").Copy ShDest.Range("C5").End(xlUp).Offset(1,0)Faire coper/collage spécial : les valeurs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ShSource.Range("C17:G17").Copy ShDest.Range("C5").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sinon, puisque c'est des résultats de formules que contient la colonne C, il me semble qu'il serait préférable de copier les paramètres, et éventuellement les résultats (en copier/coller spécial value). Comme ça, tu pourrais en remettant les paramètres sauvegardées, avoir les bons résultats.
A+
oui merci, je vais voir avec sa se que je peut faire, merci pour votre aide, les gens sur ce forum sont extrèmement sympa, j'aime bien
voila encore merci de votre aide
@+
Juste une petite adaptation qui devrait ressembler à un truc du genreje voudrai copier donc deux lignes mais les placer l'une à coté de l'autre dans la base de donné, comme par exemple la ligne C17:G17 et la ligne C18:G18
parceque jusqu'à maintenant elle se place l'une en dessou de l'autre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Macro1() Dim ShSource As Worksheet, ShDest As Worksheet, DerL As Long Set ShSource = Workbooks("projet_stage.xls").Sheets("STAT_GOOD") Set ShDest = Workbooks("Base_de_Donnée.xls").Sheets("BDD") DerL = ShDest.Range("C65535").End(xlUp).Row + 1 ShSource.Range("C17:G17").Copy ShDest.Range("C" & DerL).PasteSpecial xlPasteValues Application.CutCopyMode = False ShSource.Range("C18:G18").Copy ShDest.Range("H" & DerL).PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub
LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA
Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.
voila désormais cela fonctionne trés trés bien merci pour votre aide
à bientôt tous le monde
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager