Supprimer des lignes avec case if

Bonjour,

J'ai un fichier avec plusieurs données et je voudrais supprimer les lignes qui possedent des données spécifiques mais j'ai toujours une erreur type 9

Voici mon script:

Sub supp_doublons()

Dim i As Integer

With Worksheets("Référentiel projects (JH<50)")

For i = 4000 To 6 Step -1

Select Case Cells(i, 3)

Case Is = 26921

Rows(i).EntireRow.Delete

Case Is = 27022

Rows(i).EntireRow.Delete

Case Is = 27030

Rows(i).EntireRow.Delete

Case Is = 27081

Rows(i).EntireRow.Delete

Case Is = 27097

Rows(i).EntireRow.Delete

End Select

Next i

End With

End Sub

J'arrive pas à comprendre elle où l'erreur

Merci de m'aider

Bonjour

mets un . devant cells et rows

ça marche pas non plus :/

il y a un problème au niveau de la boucle For je pense parce que le débogage s’arrête à cette ligne.

Sans le fichier c'est difficile.

Quel est le type d'erreur ? quelle est la ligne surlignée ?

Si je réduis à ceci

Sub supp_doublons()
Dim i As Integer
For i = 4000 To 6 Step -1
Next i
End Sub

il n'y a aucune erreur sur for !

Voici le fichier

Bonjour

Ta macro est bonne et fonctionne, sans les points....

Ci joint le fichier mais:

  • j'ai corrigé le nom de ta feuille trop long avec source d'erreur
  • j'ai supprimé la ligne 2 qui était vide
  • ton pb vient de la nature des faux nombres de ta colonne C
- c'est de l'alpha et non du chiffre

- tu n'as aucune valeur en double dans ton fichier original

- pour transformer l'alpha en chiffres taper 1 dans une cellule vide, copier collage spécial sur la zone, valeur multiplication

- pour retrouver ton format initial, formater en 000000

A tester avec tes données

Cordialement

FINDRH

Erreur sur le nom de l'onglet ! projet et non project

Ensuite ne pas confondre valeurs numériques (macro) et texte (feuille excel car précédées de l'apostrophe)

RE

petit oubli

Est volontaire ou lié à l'extraction, tu es en mode de calcul manuel et en référence L1C1 je l'ai également modifié

FINDRH

Bonjour le fil,

Un essai ....en profitant des corrections apportées par FINDRH

Sub supp_doublons()

Dim i As Integer

 Application.ScreenUpdating = False

  With Worksheets("Référentiel")
   For i = 4000 To 6 Step -1
    Select Case .Cells(i, 3)
     Case 26921, 27022, 27030, 27081, 27097
     Rows(i).EntireRow.Delete
    End Select
   Next i
  End With

 Application.ScreenUpdating = True
End Sub

Cordialement,

Bonjour

a bon je tape pas assez vite HI

a voir

Sub supp_doublons()
Dim I&
Application.ScreenUpdating = False
    For I = 4000 To 6 Step -1
        Select Case Cells(I, 3)
            Case 26921, 27022, 27030, 27081, 27097
                Rows(I).EntireRow.Delete
        End Select
    Next I
End Sub

A+

Maurice

Si tu ne peux pas transformer les valeurs textuelles en nombre (cela se comprend si c'est issu d'un progiciel), utilise alors la valeur textuelle dans le code VBA

Case "026921", "027022", "027030", "027081", "027097"

Excellente suggestion !

FINDRH

Merci pour tous vos réponses mais j'ai un autre problème!

Lorsque je lance les macros, la liste reste la même sans aucun traitement!

J'ai mis le bon fichier!

Re,

Il faut que tu mettes tes 3 macros dans un module externe(elles sont actuellement dans le module de la feuille1 "Export Budgets Uniques") et ensuite les réaffecter à leur bouton respectif....

capture

Cordialement,

Rechercher des sujets similaires à "supprimer lignes case"