Ignorer certains lignes lors de l'extraction

Bonjour à tous,

J'ai un fichier excel se présentant comme ceci :

Valeur A : 2 - 3 - 4 - 5 etc... Valeur B : 4 - 5 - 6 - 7 - 8 etc...

etc...

J'ai déjà une macro permettant d'extraire les données, je recherche maintenant à extraire toutes les données SAUF celles ou la valeur de a est inférieur ou égale à 2 ET la valeur de B est inférieure ou égale à 4.

Auriez-vous une idée pour réaliser ceci?

Merci beaucoup:

Bonjour,

Oui bien sûr, si on connais le code qui extrait, on va pouvoir l'adapter.Sauf que ...

Sauf que?

Sub extract()
Set ws1 = Worksheets("Feuil1")
i = 2
plc = 2
nplc = ws1.Cells(plc, "B")
While ws1.Cells(i, "B") <> 0
If ws1.Cells(i, "B") <> nplc Then
 Range("A1:I1").Select
 Selection.Copy
Set wb = Workbooks.Add
 Set ws2 = wb.Worksheets(1)
 ws2.Name = "client " & nplc
 Range("A1").Select
 ActiveSheet.Paste

ws1.Rows(plc & ":" & i - 1).Copy ws2.Cells(2, 1)
    Range("H2").Select
    ActiveCell.FormulaR1C1 = "=SUM(C[-3])"
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=SUM(C[-3])"
wb.SaveAs ws2.Name & ".xlsx"
wb.Close

 plc = i
 nplc = ws1.Cells(i, "B")
End If
i = i + 1
Wend
Set wb = Workbooks.Add
 Set ws2 = wb.Worksheets(1)
 ws2.Name = "client " & nplc
ws1.Rows(plc & ":" & i - 1).Copy ws2.Cells(1, 1)
wb.SaveAs ws2.Name & ".xlsx"
wb.Close
Set ws1 = Nothing
Set ws2 = Nothing
Loop
End Sub

Plus personne pour m'aider?

Sub extract()
Application.ScreenUpdating = False
' ws1= reference à la feuille des clients
Set ws1 = Worksheets("Feuil1")
' i pointeur de ligne dans la feuille clients
i = 2
' nplc client en cours de traitement
nplc = ""
' on parcourt la feuille des clients
While ws1.Cells(i, "B") <> 0

 ' si le numéro de client sur la ligne i est différent du client en cours
 If ws1.Cells(i, "B") <> nplc Then
    ' si client en cours est non blanc
    If nplc <> "" Then
      ' on ajoute des formule et H2 et I2 sur l'extrait client
      ws2.Range("H2").FormulaR1C1 = "=SUM(C[-3])"
      ws2.Range("I2").FormulaR1C1 = "=SUM(C[-3])"
      ' on sauve le classeur de ce client
      wb.SaveAs ws2.Name & ".xlsx"
      wb.Close
    End If
    ' on crée un nouveau classeur extrait client
    ' wb classeur extrait client
    Set wb = Workbooks.Add
    ' ws2 feuille extrait client
    Set ws2 = wb.Worksheets(1)
    ' nplc = client en cours
    nplc = ws1.Cells(i, "B")
    Application.StatusBar = "client " & nplc & " en cours de création"
    ws2.Name = "client " & nplc
    ' on y copie la ligne titre
    ws1.Range("A1:I1").Copy ws2.Range("A1")
    ' j pointeur de ligne dans le classeur extrait client
    j = 1

  End If
  ' si on n'a pas (A<2 ET B<4) sur cette ligne
  If Not (ws1.Range("a" & i) < 2 And ws1.Range("B" & i) < 4) Then
    ' incrémente pointeur de ligne
    j = j + 1
    'on copie la ligne
    ws1.Rows(i).Copy ws2.Range("A" & j)
End If
' on passe à la ligne client suivante
i = i + 1
Wend
' on ferme le dernier classeur
wb.SaveAs ws2.Name & ".xlsx"
wb.Close
Application.ScreenUpdating = True
Set ws1 = Nothing
Set ws2 = Nothing
Application.StatusBar = "traitement terminé"
End Sub

ps n'oublie pas que tu as en face de toi des bénévoles qui n'ont

1) ni l'obligation de t'aider

2) ni l'obligation de te répondre dans les délais que tu souhaites

je fais référence à ton message "plus personne pour m'aider"

Je vous remercie cela fonctionne parfaitement.

Je ne voulais pas que mon précédent message ait l'air "agressif", je voulais tout simplement savoir si quelqu'un pensait avoir une solution ou pas, je sais très bien que vous n'êtes pas obligé de m'aider!

Merci tout de même !

Rechercher des sujets similaires à "ignorer certains lignes lors extraction"