Excel WBA copie d'un fichier à l'autre

MIMI -  
Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je copie des informations selon l'instruction ci-dessous

Sheets("Feuil1").Cells(i, 1) = Sheets("Feuil2").Cells(i, 1)

Je voudrais indiquer que la feuille 2 est sur un autre fichier Excel ouvert.

j'ai essayé d'ajouter windows à mon instruction mais cela ne marche pas :

Sheets("Feuil1").Cells(i, 1) = Windows("toto.xls").Sheets("Feuil2").Cells(i, 1)

Merci par avance pour votre aide
Configuration: Windows XP Internet Explorer 6.0

2 réponses

  1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Salut,

    tu as essayé
    Sheets("Feuil1").Cells(i, 1) = Workbook("toto.xls").Sheets("Feuil2").Cells(i, 1)
    0
    1. MIMI
       
      Bonjour Ricky38

      J'ai le message d'erreur "erreur de compilation sub ou fonction non définie"

      Voici la macro :

      Sub aa()

      For i = 1 To 10

      Sheets("Feuil1").Cells(i, 1) = Workbook("Classeur2.xls").Sheets("Feuil2").Cells(i, 1)
      Sheets("Feuil1").Cells(i, 2) = Workbook("Classeur2.xls").Sheets("Feuil2").Cells(i, 2)
      Sheets("Feuil1").Cells(i, 3) = Workbook("Classeur2.xls").Sheets("Feuil2").Cells(i, 3)

      Next i

      End Sub

      Merci par avance pour ton aide

      Mimi
      0
      1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463 > MIMI
         
        mets un s a workbook
        0
      2. MIMI > Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention  
         
        j'ai mis un "s" a Workbooks
        mais j'ai un nouveau mesasge d'erreur "erreur execution 9 l'indice n'apartient pas à la sélection

        Merci pour ton aide

        Mimi

        Sub aa()

        For i = 1 To 10

        Sheets("Feuil1").Cells(i, 1) = Workbooks("Classeur2.xls").Sheets("Feuil2").Cells(i, 1)
        Sheets("Feuil1").Cells(i, 2) = Workbooks("Classeur2.xls").Sheets("Feuil2").Cells(i, 2)
        Sheets("Feuil1").Cells(i, 3) = Workbooks("Classeur2.xls").Sheets("Feuil2").Cells(i, 3)

        Next i

        End Sub
        0
      3. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463 > MIMI
         
        moi j'ai mit Worksheets au lieu de sheets
        0
  2. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    plutot ceci:

    Workbooks("test1").Worksheets("Feuil2").Range("B3") = Workbooks("test2").Worksheets("Feuil1").Range("A1")

    donc de test2 A1 à test1 B3
    0
    1. MIMI
       
      Ca marche !! merci beaucoup.

      Mais comment résoudre de boucle car je veux ensuite copiera2 puis a3 etc. jusqu'à 10 (compteur de 1 à10) ?

      dans l'instruction proposée, range fige la cellule de départB3 et d'arrivée A1.

      Merci par avance pour ton assistance

      Michel
      0
      1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463 > MIMI
         
        tu as essayé de changer les Range() pour ton Cells(i, 1) ?
        0
      2. MIMI > Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ca marche tout à fait :

        Sub aa()

        For i = 1 To 10

        Workbooks("Classeur1").Sheets("Feuil1").Cells(i, 1) = Workbooks("Classeur2").Sheets("Feuil1").Cells(i, 1)
        Workbooks("Classeur1").Sheets("Feuil1").Cells(i, 2) = Workbooks("Classeur2").Sheets("Feuil1").Cells(i, 2)
        Workbooks("Classeur1").Sheets("Feuil1").Cells(i, 3) = Workbooks("Classeur2").Sheets("Feuil1").Cells(i, 3)

        Next i

        End Sub

        Encore merci pour ton aide

        Bonne soirée

        Mimi
        0
      3. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463 > MIMI
         
        fait plaisirs
        0