Extraction

hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   -  
hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai ecrit un programme qui sert copier des cellule d'un classeur excel à un autre, ça bug et je ne voi pas keskil ya danormal. quelqu'un pourait maider svp,merci d'avance.

Sub extraction()
Dim SearchString As String
Dim SearchChar As String
Dim MyPos As Integer
i = 3
NomFichierOrigine = "kkk"
Dim Wbk1 As Workbook, Wbk2 As Workbook
Set Wbk1 = ThisWorkbook
Set Wbk2 = Workbooks.Open(Filename:="C:\Users\Desktop\" & NomFichierOrigine & ".xlsx")

Windows(NomFichierOrigine & ".xlsx").Activate
Wbk2.Sheets(1).Select
Wbk2.Sheets(3).Select

With Selection

For j = 3 To 28

Wbk1.Worksheets(1).Cells(i, j).Value = Wbk2.Worksheets(l).Cells(i, j).Value
Wbk1.Worksheets(3).Cells(i, j).Value = Wbk2.Worksheets(3).Cells(i, j).Value

j = j + 1

Next j
End With
End Sub

4 réponses

  1. Yoda
     
    Bonjour,

    Tu as peut etre déjà trouvé ton erreur, sinon ça doit se passer là:

    Wbk1.Worksheets(1).Cells(i, j).Value = Wbk2.Worksheets(l).Cells(i, j).Value

    Tu as surement voulu mettre (1) et non (l).
    1
  2. hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   4
     
    Bonjour,
    oui , exactement :D, c'etait exactement ça merci. j'aimerai substitué une ligne par une autre.celle ci:
    Set Wbk2 = Workbooks.Open(Filename:="C:\Users\Desktop\" & NomFichierOrigine & ".xlsx")

    je veux tout simplement definir Wbk2 = NomFichierOrigine sans avoir besoin de l'ouvrir car il est deja ouvert, s'il vous plait quelle commande je metterai?
    merci bien,
    0
    1. Yoda
       
      Je crois que c'est tout simplement comme ça:

      Set Wbk2 = Workbooks(NomFichierOrigine & ".xlsx")
      0
  3. hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   4
     
    merci, c'est bien ça.

    je souhaiterai copier la ligne x de la feuil1 du classeur1 et la ligne x de la feuil 3 du meme classeur vers les lignes 2 et 4 de la feuil 1 d'un autre classeur.

    j'ai essayé avec cette partie la mais ça marche pas, la macro me rempli que les données de la feuil1 du classeur1

    Wbk2.Sheets(1).Select
    Wbk2.Sheets(3).Select

    With Selection

    For j = 3 To 28

    Wbk1.Worksheets(1).Cells(2, j).Value = Wbk2.Worksheets(1).Cells(3, j).Value
    Wbk1.Worksheets(1).Cells(4, j).Value = Wbk2.Worksheets(3).Cells(4, j).Value

    j = j + 1

    Next j
    0
  4. hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   4
     
    ça a fini par marché, just un peut de netoyage:

    For j = 3 To 28

    Wbk1.Worksheets(1).Cells(2, j).Value = Wbk2.Worksheets(1).Cells(3, j).Value
    Wbk1.Worksheets(1).Cells(4, j).Value = Wbk2.Worksheets(3).Cells(4, j).Value

    Next j
    0