Macro

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

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    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+
    1. 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.
      1. Contributeur
        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
        1. 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
          1. Contributeur
            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+