copier une ligne d'un classeur vers un autre

PHILIP

XLDnaute Occasionnel
Bonjour à tous,

j'ai essayé de me dépatouiller tous eul mais..;mon code ne fonctionne pas .
Ce que je voudrais , c'est copier la ligne complête du classeur "A_4_2_LagerKontrolleGP.xls" quand la date definie dans la colonne a est égale à aujourd'hui
vers le classeur "Stat" à la suite des lignes déjà remplie, c'est à dire dans la premiere ligne libre definie par la colonne A

Voici mon code
Code:
 Sub distri()
Workbooks.Open "C:\Documents and Settings\PC42\Bureau\Stats_equipes.xlsx"
Workbooks.Open ("C:\Documents and Settings\PC42\Bureau\A_4_2_LagerKontrolleGP.xls")
ActiveWorkbook.RefreshAll
      Dim Lastlig As Long, i As Long
      
      For i = 1 To [O35].End(xlUp).Row
        If Range("a" & i).Value = Format(Date, "dd / mm / yy") Then
       Range("a" & i).EntireRow.Copy
       End If
       Next
     Workbooks("Stats_equipes.xlsx").Activate
     Dim Lastlign As Long, m As Long
      For m = 1 To [O6000].End(xlUp).Row
        If Range("a" & m) = "" Then
       Range("a" & i).EntireRow.Paste
     End If
     Next
     
End Sub

merci de votre aide
 
G

Guest

Guest
Re : copier une ligne d'un classeur vers un autre

Bonsoir Philippe,

tu peux essayer ceci mais je ne comprends pas pourquoi tu parcours les lignes de la colonne O du classeur de destination.
Il est préférable de mettre un nom de feuille sur laquelle faire les recherches. ici c'est la feuille "Feuil1" car tu ne sais pas sur quelle feuille s'ouvre ton classeur.

Code:
Sub distri()
    Dim Lastlig As Long, i As Long
    Dim Dest As Range
    Workbooks.Open "C:\Documents and Settings\PC42\Bureau\Stats_equipes.xlsx"
    Workbooks.Open "C:\Documents and Settings\PC42\Bureau\A_4_2_LagerKontrolleGP.xls"
 
    'Cellule de destination 
    Set Dest = Sheets("[COLOR=red]Feuil1[/COLOR]").Range("A6000").End(xlUp)(2)
 
    ActiveWorkbook.RefreshAll
    With Sheets("[COLOR=red]Feuil1[/COLOR]") 'Changer le nom de la feuille
    For i = 1 To 35
        'Value2 contient le numéro de série de la date, indépendant du format.
        If .Range("a" & i).Value2 = Date Then
            .Range("a" & i).EntireRow.Copy Destination:=Dest
            Exit For
        End If
    Next
    End With
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote