Copier/Coller d'un onglet Excel dans un autre onglet
Bonjour, je reviens vers vous car je bloque sur un copié collé qui me paraissait pas compliqué. Je précise que je débute sur VBA.
Voilà mon problème. Je dispose d'une base de données Excel qui comporte tout les clients que je possède. Mon objectif est que, si on me fournit un nouveu fichier client, une macro puisse copier coller les clients du nouveau classeur dans mon classeur global. J'ai donc réussi à copier/coller mes nouveaux clients dans la base de données mais pas dans le bon onglet (ça le copie/colle dans l'onglet où se situe mon bouton) :
Code:
1 2 3 4 5 6 7 8 9 10
| Windows(Fichier).Activate
Cells.Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.WindowState = xlMinimized
Windows("Clients.XLSM").Activate
ActiveWindow.WindowState = xlNormal
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False |
Je précise que le Fichier du
Code:
Windows(Fichier).Activate
correspond au nom du fichier que je veux importer
Donc premier problème c'est que cela colle dans le mauvais onglet mais à la limite ce n'est pas très grave.
Vient le problème le plus ennuyeux. Comme ma base de données est amenée à être modifié, je ne peux pas établir de Range bloquée, il faut, plus simplement, que je colle mes nouveaux clients en dessous des clients actuels.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Dim i As Integer, j As Integer
i = 2
j = 2
While Feuil3.Cells(j, 1) <> ""
j = j + 1
Wend
While Feuil1.Cells(i, 1) <> ""
i = i + 1
Wend
Sheets("Données").Select
Range("A2:J20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Clients").Select
Range("A12").Select
ActiveSheet.Paste |
Mes While permettent donc d'établir la ligne ou il n'y a plus de clients mais je n'arrive pas à définir une Range à partir de cette ligne là. Voilà j'espère ne pas avoir été trop brouillon.
Merci d'avance de vos réponses