Extraction

Fermé
hakoko Messages postés 190 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 3 février 2025 - Modifié par hakoko le 28/05/2013 à 11:44
hakoko Messages postés 190 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 3 février 2025 - 29 mai 2013 à 16:54
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

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
hakoko Messages postés 190 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 3 février 2025 4
28 mai 2013 à 15:07
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
Je crois que c'est tout simplement comme ça:

Set Wbk2 = Workbooks(NomFichierOrigine & ".xlsx")
0
hakoko Messages postés 190 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 3 février 2025 4
28 mai 2013 à 18:52
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
hakoko Messages postés 190 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 3 février 2025 4
29 mai 2013 à 16:54
ç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