VBA: macro copier coller sous condition

Résolu/Fermé
Signaler
Messages postés
2
Date d'inscription
dimanche 5 juin 2011
Statut
Membre
Dernière intervention
10 juin 2011
-
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
-
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

Messages postés
10192
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
4 décembre 2021
2 259
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Merci pour la rapidité de ta réponse ccm!
Je teste de suite.

Bonne soirée
Messages postés
70
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
8 mars 2016
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