Copie ligne vers autre classeur Exel VB

Fermé
pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 - 24 août 2010 à 15:39
pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 - 24 août 2010 à 15:57
Bonjour à tous,

Débutant en vb ,j'ai besoin d'aide pour adapter le code ci-dessous.Il permet de copier des lignes répondant à un si vers une autre feuille dans un même classeur exel.Je souhaiterai les envoyé vers un autre classeur.

J'ai essayé avec :

Windows("classeur2.xls").Activate
et
WorkBooks("classeur2.xls").Activate

sans succès.

Merci de votre aide,

Code:

Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Feuil2").Activate ' feuille de destination

Col = "C" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value = "lol" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End If
Next
End With

End Sub
A voir également:

1 réponse

pgillou Messages postés 49 Date d'inscription lundi 23 août 2010 Statut Membre Dernière intervention 14 octobre 2010 1
24 août 2010 à 15:57
CI-joint mon auto réponse pour ceux que ça intéresse:

Sub MaMacro()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("Feuil1").Activate ' feuille de destination

Col = "C" ' colonne de la donnée non vide à tester
NumLig = 0
With Workbooks("Classeur2.xls").Worksheets("Feuil1") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value = "lol" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig, 1).Select
ActiveSheet.Paste
End If
Next
End With

End Sub
0