Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

code vba pour suppression de lignes

oliv67

XLDnaute Occasionnel
bonjour le forum

je suis confronté à un pb
dans le code vba de cette action

Sub Supprimer()
Dim i As Integer

Application.ScreenUpdating = False
For c = Range("p65536").End(xlUp).Row To 2 Step -1
If Not IsNumeric(Cells(c, "a")) Then
Cells(c, "a").EntireRow.Delete Shift:=xlUp
End If
Next
End Sub

dans la 3eme ligne de code qui commence par For c etc...
c=1
alors qu'il devrait etre = à 4

je ne comprends pas

olivier
 

Pièces jointes

  • Test840.zip
    19.2 KB · Affichages: 29
  • Test840.zip
    19.2 KB · Affichages: 30
  • Test840.zip
    19.2 KB · Affichages: 28

Cousinhub

XLDnaute Barbatruc
Inactif
Re : code vba pour suppression de lignes

Bonjour,
ton code est écrit dans l'évènement de la feuille 1, donc il prend en référence la feuille 1....
Inscrit ton code dans un module standard comme ceci :

Code:
Sub Supprimer()
Dim i As Integer

Application.ScreenUpdating = False
For c = Sheets("import").Range("p65536").End(xlUp).Row To 2 Step -1
If Not IsNumeric(Cells(c, "p")) Then
Cells(c, "a").EntireRow.Delete Shift:=xlUp
End If
Next
End Sub

que tu peux remplacer par ceci :

Code:
Sub Macro3()
    Sheets("import").Columns("P:P").SpecialCells(xlCellTypeConstants, 22).EntireRow.Delete
End Sub
 

gilbert_RGI

XLDnaute Barbatruc
Re : code vba pour suppression de lignes


Bonjour

regardez où est placé votre code !!!

Je crois qu'il devrait être dans la feuille ("Import") pour marquer 4
comme il est dans la feuille 1 en P il n'y a rien

Cdlt

RGI
 

pierrejean

XLDnaute Barbatruc
Re : code vba pour suppression de lignes

bonjour oliv67

Ta macro est dans le code de la feuil1
Comme la feuille n'est pas specifiée en tete de For c= Range .... elle opere sur la feuil1
tu devrais soit mettre le code dans la feuille concernée , soit dans un module et metre alors quelque chose comme

For c= Activesheet.range.....

Toujours a la bourre moi !

Salut bhbh
Salut Gilbert
 

oliv67

XLDnaute Occasionnel
Re : code vba pour suppression de lignes

merci beaucoup à tout le forum et en particulier à pierrejean,gilbert_RGI,bhbh.

j'ai réussi à faire fonctionner ma macro avec la solution de pierrejean.

mais je suis curieux , avec exemple de m'expliquer comment mettre le code dans le module.


merci à vous tous


olivier
 

pierrejean

XLDnaute Barbatruc
Re : code vba pour suppression de lignes

re

Voila ton fichier avec la macro dans le module 1
mais avec une petite modif concernant la cellule de reference (P et non a)

Code:
Sub supprimer()
MsgBox ("oui")
Application.ScreenUpdating = False
For c = ActiveSheet.Range("p65536").End(xlUp).Row To 2 Step -1
If Not IsNumeric(Cells(c, "[COLOR=red]P[/COLOR]")) Then
  Cells(c, "[COLOR=red]P[/COLOR]").EntireRow.Delete Shift:=xlUp
End If
Next
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • test840.zip
    13.7 KB · Affichages: 21
  • test840.zip
    13.7 KB · Affichages: 22
  • test840.zip
    13.7 KB · Affichages: 21

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…