PB suppression de ligne a cause d'un #VALEUR!

  • Initiateur de la discussion Initiateur de la discussion qeelocke
  • 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 !

qeelocke

XLDnaute Nouveau
Bonjour à tous

J'essaie en vain de trouver une solution à mon problème, c'est pourquoi je fais appel a vous.

je suis en train de faire une macro qui récupère une plage dans tous les onglets d'un classeur,
je les copie-colle dans un onglet appelé "Compil"
puis je souhaite supprimer la ligne si l'année de la colonne E est différente de 2013
j'ai donc mis une formule en colonne O, qui écrit le numéro de la semaine si colonne E = 2013 et "N/A" si ce n'est pas le cas.
j'utilise ensuite cette colonne pour supprimer les ligne inutiles ( celles qui son N/A)

je rencontre 2 problèmes.
1) si la date en colonne E n'est pas inscrite correctement, ma formule me donne # Valeur!
j'ai essayer de transformer ce texte pour pouvoir le gérer mais je n'y arrive pas.

2) lorsque la macro qui vient supprimer les ligne si colonne O = N/A tombe sur une ligne avec # Valeur!,
ma macro plante
de plus, j'ai allégé le fichier pour le laisser sur le forum, mais il contient env. 50 onglets et représente 5000lignes compilées dans mon onglet "compil".

le temps de suppression des lignes inutile est catastrophique, si quelqu'un a une idée, je suis preneur)
merci à vous
 

Pièces jointes

Re : PB suppression de ligne a cause d'un #VALEUR!

Bonjour qeelocke,

ces codes fonctionnent pour la suppression (dans le fichier présenté)
Code:
Private Sub DelLigneCompil()
 With ThisWorkbook.Sheets("Compil")
        For i = .Range("O" & .Rows.Count).End(xlUp).Row To 2 Step -1
            If .Range("O" & i).Text = "N/A" Then
            .Rows(i).Delete
            End If
        Next i
 End With
 End Sub
Code:
Private Sub DelLigneCompil()
 With ThisWorkbook.Sheets("Compil")
        For i = .Range("O" & .Rows.Count).End(xlUp).Row To 2 Step -1
            If .Range("O" & i).Text = "N/A" Or .Range("O" & i).Text = "#VALEUR!" Then
            .Rows(i).Delete
            End If
        Next i
 End With
 End Sub
à+
Philippe
 
Dernière édition:
Re : PB suppression de ligne a cause d'un #VALEUR!

Re,

ou encore celui-ci pour gagner un peu de temps
Code:
Private Sub DelLigneCompil()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
 With ThisWorkbook.Sheets("Compil")
        For i = .Range("O" & .Rows.Count).End(xlUp).Row To 2 Step -1
            If .Range("O" & i).Text = "N/A" Or .Range("O" & i).Text = "#VALEUR!" Then
            .Rows(i).Delete
            End If
        Next i
 End With
 Application.ScreenUpdating = True
 Application.Calculation = xlCalculationAutomatic
 End Su

à+
Philippe
 
Re : PB suppression de ligne a cause d'un #VALEUR!

Bonsoir le forum,

tout d'abord merci à phlaurent55 pour la résolution de mon pb de #valeur!,
en voyant ton code, ca me semble evident, il fallait utiliser ".text" à la place de ".value"
j'y ai pas penser, désolé.

Concernant la lenteur de suppression des lignes, malgré le rafraichissement et le calcul auto en off.
je mets 1min30sec env pour les supprimer dans mon fichier original

Donc si quelqu'un connait une autre méthode beaucoup plus rapide, je suis toujours preneur.
 
Re : PB suppression de ligne a cause d'un #VALEUR!

Bonjour,

A tester, ceci devrait éviter la boucle :
Code:
On Error Resume Next
With Sheets("Compil")
    .Range("O2:O" & .Cells(Rows.Count, "O").End(xlUp).Row).SpecialCells(xlCellTypeConstants, xlErrors).EntireRow.Delete
End With
On Error GoTo 0

bonne journée
@+
 
Re : PB suppression de ligne a cause d'un #VALEUR!

Bonjour,

J'ai testé le code de Pierrot93, mais rien ne se passe (aucune suppression de ligne n'est réalisée)
Ce que je comprends dans le code fourni, on recherche les "erreurs excel" et on supprime la ligne.
Dans mon cas, je cherche a supprimer la ligne si colonne O = "N/A". Est ce possible?
Merci
 
- 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

Réponses
5
Affichages
316
Réponses
13
Affichages
261
Réponses
53
Affichages
898
Réponses
10
Affichages
252
Réponses
1
Affichages
157
Retour