Macro

desmodus -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Je veux faire une macro qui me permet de copier les fichiers de 4 tableaux ,chacun étant sur un classeur distinct, et de les recoller sur un autre classeur récapitulatif qui regroupe l'enseble des données sachant que les données ne doivent pas se chevaucher sur les mêmes cellules.

Merci d'avance.
A voir également:

7 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Si tu n'as aucune idée de "comment faire", tu devrais, dans un premier temps créer une macro à l'aide de l'éditeur de macros.
Ensuite reviens avec le code générer et nous pourrons probablement t'aider pour l'optimiser.
A+
0
desmodus
 
Voici la macro que me ressort l'éditeur, ça marche bien les données sont copiées et collées sur la nouvelle feuille, le seul souci et c'est que les cellules se chevauchent ce qui me suppriment certaines données.
Donc il faut en gros que les données copiées du seond classeur se positionnent après celles du premier.

Sub Macro3()
'
' Macro3 Macro
'
'

'
Windows("Planning prévisionnel global filiale1.xls"). _
Activate
Range("A9:HV31").Select
Selection.Copy
Windows("Planning prévisionnel global groupe.xls").Activate
ActiveSheet.Paste
Range("A10").Select
Windows("Planning prévisionnel global filiale2.xls").Activate
Range("A9:HV32").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Planning prévisionnel global groupe.xls").Activate
ActiveSheet.Paste
Range("D16").Select
End Sub

Merci.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Comme je n'ai pas tes classeurs je ne sais pas tester, essaye avec
    Windows("Planning prévisionnel global filiale1.xls").Range("A9:HV31").Copy
    
    Windows("Planning prévisionnel global groupe.xls").Activate
    Range("A9").Select
    ActiveSheet.Paste
    
    Windows("Planning prévisionnel global filiale2.xls").Range("A9:HV32").Copy
    Windows("Planning prévisionnel global groupe.xls").Activate
    Range("A33").Select 'un ligne vide entre
    ActiveSheet.Paste
    Range("A33").Select

Si tu a une erreur tu dis.. où ! et le N° ou texte du message d'erreur
0
desmodus
 
Ca m'affiche

Erreur d'éxécution '9':

L'indice n'appartient pas à la sélection.

L'erruer concerne la ligne:
Windows("Planning prévisionnel global filiale1.xls").Range("A9:HV31").Copy

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Les classeurs 1 et 2 sont ouvert ?
0
desmodus
 
oui ils sont ouverts
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Je m'en doutais bien, Excel n'acepte pas toujours les simplifications, j'ai testé avec plusieurs classeurs...
    Workbooks("Planning prévisionnel global filiale1.xls").Activate
    Range("A9:HV31").Copy
    Workbooks("Planning prévisionnel global groupe.xls").Activate
    Range("A9").PasteSpecial xlPasteAll
    Workbooks("Planning prévisionnel global filiale2.xls").Activate
    Range("A9:HV32").Copy
    Windows("Planning prévisionnel global groupe.xls").Activate
    Range("A33").PasteSpecial xlPasteAll

Et ça fonctionne.
A+
0