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.

7 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  2. 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
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Les classeurs 1 et 2 sont ouvert ?
    0
  7. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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