Copier avec condition ?

Bonsoir, voilà encore une question !

J'aimerais que si dans la liste d'origine (feuil1) se trouve une valeur que je souhaite exclure de la copie vers (feuil2) et qui sera en (i,3) (ne pas copier cette ligne donc) comment mettre à jour cette macro ? merci à vous.

Sub copier()
Dim i As Long, j As Long, n As Long, oList
   oList = Array("bonjour") ' Liste des lettres à sélectionner.
   j = 2
   For n = 0 To UBound(oList)
      For i = 1 To 500
         If Sheets("feuil1").Cells(i, 6).Value = oList(n) Then
            j = j + 1
            Sheets("feuil2").Range(Sheets("feuil2").Cells(j, 1), Sheets("feuil2").Cells(j, 10)).Value = _
               Sheets("feuil1").Range(Sheets("feuil1").Cells(i, 1), Sheets("feuil1").Cells(i, 10)).Value
          End If
      Next i
   Next n
End Sub

bonjour,

peut-être :

If Sheets("feuil1").Cells(i, 6) = oList(n) And Sheets("feuil1").Cells(i, 3) <> "blabla"  Then

?

j'esaaie dans la journée.

If Sheets("feuil1").Cells(i, 6) = oList(n) And Sheets("feuil1").Cells(i, 3) <> "blabla"  Then

Oui ça fonctionne merci, mais si j'ai plusieurs valeurs à exclure ? je l'écris comment ?

Salut le forum

Tu rajoutes les conditions

If Sheets("feuil1").Cells(i, 6) = oList(n) And Sheets("feuil1").Cells(i, 3) <> "blabla"  And Sheets("feuil1").Cells(i, 3) <> "toto"Then

Le mieux serait une boucle avec un Array = "Blabla , Toto , Arthur"

A te relire

Mytå

Je vais essayer, merci.

3test.zip (17.20 Ko)

Encore moi, j'ai essayé mais j'ai beaucoup de valeurs à exclure et donc il vaut mieux utilisé la fonction Array, mais je ne vois pas ou la mettre sur le code ? Une aide merci.

Bonjour,

Peut-être :

Sub copier()
Dim i%, j!, n!, nn!, oList,TaListedExclusion, Y as Boolean
   oList = Array("bonjour") 'pseudo tablo base 0
   TaListedExclusion = Array("blabla") 'pseudo tablo base 0
   j = 2
   For n = 0 To UBound(oList)
      For i = 1 To 500
         If Sheets("feuil1").Cells(i, 6).Value = oList(n) Then
            Y = True
            For nn = 0 To UBound(TaListedExclusion)
                If Sheets("feuil1").Cells(i, 3).Value = TaListedExclusion(nn) Then Y = False
            Next
            If Y Then
                    j = j + 1
                    Sheets("feuil2").Range(Sheets("feuil2").Cells(j, 1), Sheets("feuil2").Cells(j, 10)).Value = _
                       Sheets("feuil1").Range(Sheets("feuil1").Cells(i, 1), Sheets("feuil1").Cells(i, 10)).Value
            End If
          End If
      Next i
   Next n
End Sub

Nota : Codé à la hache et avec le pied : non vérifié !

A+

Merci encore, je dois tester bien sûr. 8)

Ca fonctionne très bien, merci encore.

Rechercher des sujets similaires à "copier condition"