VBA: macro copier coller sous condition

Résolu
ana41 Messages postés 2 Statut Membre -  
Koalacid Messages postés 70 Statut Membre -
Bonjour,

Je débute tout juste en VBA.
Je souhaite créer une macro qui copie une ligne sous 3 conditions (cellule enF ocuppée alors que cellule B et C sont vides).
Je veux ensuite repertorier les lignes concernées dans une autre feuille ("Annnexe 2").

Ci dessous le code qui me pose problème.

Sub BC1()

Dim i as integer
For i= 1 to 500

If Not IsEmpty(Range("F"&i)) And Range("B"&i).Value="" And Range("C"&i).Value=""

Then Row("i").copy
        Sheets("Annexe2").Select
        Derlig=Range(A1048576).End(xlUp).Row+1
        Cells(Derlig,1).Activate
        Selection.Paste
        Sheets("Feuilled'origine").Activate

End If
End Sub


Merci par avance pour votre aide.

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    un code a adapter à ta situation

    Public Sub BC1()  
    Dim i As Integer, derlig As Long  
    With Sheets("feuil1")  
      For i = 1 To 10  
        If Not IsEmpty(.Range("F" & i)) And .Range("B" & i).Value = "" And .Range("C" & i).Value = "" Then  
          derlig = Sheets("feuil2").Range("A65536").End(xlUp).Row + 1  
          .Rows(i).Copy Sheets("feuil2").Range("A" & i)  
        End If  
      Next i  
    End With  
    End Sub


    bonne suite
    1
  2. ana41
     
    Merci pour la rapidité de ta réponse ccm!
    Je teste de suite.

    Bonne soirée
    0
  3. Koalacid Messages postés 70 Statut Membre 2
     
    Bonjour ccm81,

    Je souhaiterai adapter ta macro qui correspond à ce que je recherche. C'est-à-dire:

    Une macro qui copie une plage d'une feuille sur une autre feuille (copier/coller en valeurs) mais à la suite de la plage précédente occupée. C'est pour créer un historique des données.

    Ta macro me convient bien mais quand je la fait fonctionner elle ne colle qu'une ligne. Pourrais-tu m'expliquer les étapes de ton code pour que je l'adapte selon ce que j'ai?

    Je te remercie pour ton aide,

    Koala
    0