code vba pour suppression de lignes

  • Initiateur de la discussion Initiateur de la discussion oliv67
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
Re : code vba pour suppression de lignes

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

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
 
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 🙂
 
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
68
Réponses
4
Affichages
355
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
234
Retour