Transférer des lignes

lolio -  
altashy Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai deux feuil:
feuil1: contient une base de donnéés
feuil2: vide
à chaque fois je souhaite copier des ligne de la feuill1 (juger si la 2ème colonne est 0) vers la feuils 2
Ps: la feuil2 doi être initialiser à chaque début du mmacro afin d'écraser la résultat en avale
merci

2 réponses

  1. altashy Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
     
    Salut,

    essaye avec ça:

    Sub copyLigne()
    Dim cpt As Integer
    cpt = 1
    Sheets("Feuil2").Activate 'activer la feuil2
    Cells.ClearContents
    Sheets("Feuil1").Activate 'activer la feuil1
    nbliF1 = Cells(Sheets("Feuil1").Rows.Count, "A").End(xlUp).Row 'nombre de ligne de la feuil1
    For i = 1 To nbliF1
    If Cells(i, 2) = 0 Then 'cas pour cellules B1, B2, B3.....
    Rows(i).Copy 'copy la ligne
    Sheets("Feuil2").Activate 'activer la feuil2
    Rows(cpt).Select
    ActiveSheet.Paste
    cpt = cpt + 1
    End If
    Next
    Application.CutCopyMode = False
    End Sub
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bonjour,

      Il faut absolument éviter d'utiliser .Select et .Activate, c'est une des premières sources d'erreur sous VBA !!!
      Éviter aussi d'utiliser le presse papier.
      0
    2. lolio85 Messages postés 3 Statut Membre
       
      alors comment faire !
      0
  2. lolio85 Messages postés 3 Statut Membre
     
    Merci beaucoup pour vos effort mail malheureusement il y a qualque chose qui cloche. En effet, voila ce que ça donne ![image:https://img-19.ccm2.net/eTIaX3zNKSaRU6--HkY3EeDgdag=/cdaf8232c9e84c1aa
    1235fba80b2bd37/tmp/q.PNG|389px||center]
    0
    1. lolio85 Messages postés 3 Statut Membre
       
      et le resultat
      0
    2. altashy Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
       
      Rajoute : Sheets("Feuil1").Activate
      apres : ActiveSheet.Paste
      0