copier coller valeurs d'un classeur dans une ligne d'un autre classeur

lennynero256

XLDnaute Junior
Bonjour,

petit souci : j'ai enregistré une macro pour copier coller automatiquement des données provenant d'un classeur vers un autre classeur. jusque là tout va bien, le problème est que lorsque je répéte l'opération, les nouvelles valeurs écrasent les premières alors que je souhaite qu'elles viennent occuper les cellules de la ligne en dessous, et ainsi de suite.

voici un extrait de ma macro :

Code:
Workbooks.Open Filename:= _
        "S:\DONNEES\STATS\stats_2012_V1_071211.xls"
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Range("B12").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("A65536").End(xlUp).Offset(1, 0).Select
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

je pense savoir d'ou vient le problème, à savoir que la cellule de destination est toujours A7. Moi ce que je souhaite c'est que la valeur collée vienne en A7 mais qu'ensuite, quand la macro est appellée une nouvelle fois, la valeur se colle en A8, puis A9 et ainsi de suite...

je sèche sur ce point, pourriez vous m'aider svp ?

Merci !
 

lennynero256

XLDnaute Junior
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

bonjour Victor, merci de l'intérêt porté à mon problème.

cette ligne ne sert peut être à rien, je fais des essais pour faire des retours à la ligne automatique... D'ailleurs ele se retrouve aussi à la fin de ma macro... auriez vous une solution pour mon problème svp ?
 

Victor21

XLDnaute Barbatruc
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

Re,

Il n'est pas dans mon intention de vous pièger.
Simplement pour utiliser les macros, et garantir qu'au moment le plus gênant, lorsqu'il n'y a personne pour aider, que vous avez absolument besoin de l'utiliser immédiatement et sans délai et que le fichier plante (loi de Murphy), il est utile de comprendre ce que fait cette macro.
Range("A65536").End(xlUp).Offset(1, 0).Select
sélectionne la première cellule vide, en partant du bas, celle où vous voulez coller votre sélection.
Range("A7").Select
déselectionne la précédente, et sélectionne la A7
 

lennynero256

XLDnaute Junior
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

merci pour votre aide et votre humour :).

J'ai bien compris vos explications mais je pense que le problème est également ailleurs. En effet j'utilise bien le code :
Code:
Range("A65536").End(xlUp).Offset(1, 0).Select
pour placer la cellule au début de la ligne suivante.

Mais la présence du code :
Code:
    Windows("stats_2012_V1_071211.xls").Activate
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

pose problème je pense : Range ("A7") par exemple fait que chaque nouvelle utilisation de la macro copie/colle au même endroit...

pour résumer ma problématique en d'autres termes :
Comment dois je faire pour que : chaque ensemble de données provenant d'un classeur source 1, a l'appel d'une macro, viennent remplir une ligne dans un tableau contenu dans un classeur de destination, et que, pour un autre classeur source 2 (identique à 1 sauf dans les valeurs), l'appel de la macro positionne toutes les données sur la ligne suivante et ainsi de suite...

Voici la macro existante, pourrait elle aussi être allégée ?

Code:
Sub EXPORT_VERS_STATS()
Workbooks.Open Filename:= _
        "S:\DONNEES\STATS\stats_2012_V1_071211.xls"
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Range("B12").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("A7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Application.CutCopyMode = False
    Range("C12").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("B7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Application.CutCopyMode = False
    Range("D12").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("C7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Application.CutCopyMode = False
    Range("J55").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("AL7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ThisWorkbook.Activate
    ActiveWindow.WindowState = xlNormal
    Application.CutCopyMode = False
    Range("J56").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("AM7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A65536").End(xlUp).Offset(1, 0).Select
    ActiveWorkbook.Save
End Sub

Encore merci pour votre aide,

cordialement,

Lenny
 

Victor21

XLDnaute Barbatruc
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

Re,

Quel est l'intérêt de
Range("A65536").End(xlUp).Offset(1, 0).Select
en fin de macro. ?
Cette ligne permet de sélectionner, comme dit plus haut, la première cellule non vide de la colonne A en partant du bas.
C'est là que vous devez coller votre première sélection.
Alors que
Range("A7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
colle cette première sélection en A7.

Comme il est conseillé à l'alinéa C du paragraphe 3 de Lien supprimé, un court extrait représentatif de vos fichiers permettrait à ceux qui veulent vous aider de tester les solutions qu'ils sont prêts à vous proposer.
 

lennynero256

XLDnaute Junior
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

Oui vous avez raison, j'ai réalisé un petit exemple que je joins au post :

Chaque ligne du classeur destination doit recevoir les infos provenant des classeurs sources 1 2 et 3, une ligne par classeur, retour automatique à la ligne.

J'ai refais la macro, et donc chaque nouvel export écrase le précédent... Rageant !

encore merci, Lenny
 

Pièces jointes

  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 40
  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 45
  • ClasseurTESTSOURCE3.xls
    27.5 KB · Affichages: 41
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 39
  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 43
  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 44
  • ClasseurTESTSOURCE3.xls
    27.5 KB · Affichages: 43
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 43
  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 40
  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 36
  • ClasseurTESTSOURCE3.xls
    27.5 KB · Affichages: 38
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 34

lennynero256

XLDnaute Junior
Re : copier coller valeurs d'un classeur dans une ligne d'un autre classeur

petite erreur dans ma macro, revoici les fichiers corrigés. Mais le pb est toujours là...
 

Pièces jointes

  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 36
  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 40
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 33
  • ClasseurTESTSOURCE3.xls
    28 KB · Affichages: 38
  • ClasseurTESTSOURCE3.xls
    28 KB · Affichages: 38
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 37
  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 40
  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 35
  • ClasseurTESTSOURCE3.xls
    28 KB · Affichages: 31
  • ClasseurTESTSOURCE2.xls
    29.5 KB · Affichages: 32
  • ClasseurTESTSOURCE1.xls
    29.5 KB · Affichages: 37
  • ClasseurTESTDESTINATION.xls
    16.5 KB · Affichages: 41

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin