suppression automatique de ligne sur excel [vba]

suppression automatique de ligne sur excel [vba] - VB/VBA/VBS - Programmation

Marsh Posté le 03-08-2007 à 16:32:50    

Bonjour, j'essaie de trouver un code ki me permet de supprimer la ligne qui contiendrait le mot "facture".  
j'ai fait ça , mais ça marche pas:  

Code :
  1. Sub f()
  2. For i = 1 To 200
  3. If Cells(i, 2) = "facture" Then
  4. Rows("i:i" ).Select
  5.     Selection.Delete Shift:=xlUp


merci
 
 
End If
Next
End Sub
[/code]
merci

Reply

Marsh Posté le 03-08-2007 à 16:32:50   

Reply

Marsh Posté le 03-08-2007 à 16:36:41    


Code :
  1. Sub f()
  2. For i = 1 To 200
  3. If Cells(i, 2) = "facture" Then
  4.     Rows(i & ":" &i ).Select
  5.     Selection.Delete Shift:=xlUp
  6.     i=i-1
  7. next i


Reply

Marsh Posté le 03-08-2007 à 17:04:33    

j'ai trouvé moins long:

Code :
  1. Sub f()
  2. For i = 1 To 200
  3. If Cells(i, 2) = "facture" Then
  4. Rows(i).Delete
  5. End If
  6. Next
  7. End Sub


 
par contre mnt je veux que la macro s'arrête (ne va pas à next) quand elle supprime 1 ligne.

Reply

Marsh Posté le 03-08-2007 à 17:06:30    

ajoute un  
dim temp as boolean
 
temp = true
 
et ajoute and test = true then
exit next ou temp = false
next i

Reply

Marsh Posté le 03-08-2007 à 17:13:15    

ça me met erreur de compilation, peut être parce que je positionne mal ce ke tu m'as écrit. Peux tu me dire où mettre ton code dans le mien?
merci

Reply

Marsh Posté le 03-08-2007 à 17:31:19    

Code :
  1. Sub f()
  2. dim temp as boolean
  3. For i = 1 To 200
  4. If Cells(i, 2) = "facture" Then
  5. Rows(i).Delete
  6. i =200
  7. End If
  8. Next
  9. End Sub

Reply

Marsh Posté le 03-08-2007 à 18:24:23    

une remarque pour ce genre de code de suppression de ligne
faire une boucle décroissante
          for i=200 to 1 step -1

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed