IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Suppression ligne si cellule #N/A [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut Suppression ligne si cellule #N/A
    Bonjour,

    Je souhaite creer une macro: si il y a une celle qui contient #N/A alors supprimer toute la ligne.

    Je vous remercie pour votre aide.

    Cordialement,

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Utilise la fonction Isna.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = fin To debut Step -1  
        If Application.WorksheetFunction.IsNA(cells(i,k) Then Rows(i).Delete
    Next
    debut = 1ère cellule de la plage
    fin = dernière cellule de la plage
    k= colonne contenant tes valeurs

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une autre méthode.

    Si tu as des formules en colonne E avec certaines qui renvoient une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error Resume Next
    Worksheets("Feuil1").Range("E:E").SpecialCells(xlFormulas, xlErrors).EntireRow.Delete
    On Error GoTo 0
    Si ce ne sont pas des formules, remplace xlFormulas par xlConstants
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  4. #4
    Membre actif Avatar de L'Albatros
    Homme Profil pro
    Chercheur en économie - statistique
    Inscrit en
    Avril 2012
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en économie - statistique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 150
    Points : 239
    Points
    239
    Par défaut
    A la louche, quelles sont les dimensions de ton tableau ?
    Parce que la semaine dernière, ma macro a ramé pendant un moment sur un tableau de .... 45 000 lignes...
    Si j'ai pu vous aider, dites le avec 1 pouce

  5. #5
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut
    Merci,

    J'ai 1400 lignes, une vingtaine de colonnes, J'ai des valeurs et formules qui renvoies #N/A et #REF!

    Je souhaite specifier un certain nombre de valeur pour k (= colonne contenant les valeurs) et generaliser le code pour #N/A et #REF!


    Merci pour l'aide

  6. #6
    Membre actif Avatar de L'Albatros
    Homme Profil pro
    Chercheur en économie - statistique
    Inscrit en
    Avril 2012
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en économie - statistique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 150
    Points : 239
    Points
    239
    Par défaut
    Ok, je vois.
    Pas très poétique mais efficace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Sub Remplacer_Cellules_Cibles()
    '
    ' L'Albatros
    '
     
    Dim compteur As Integer
    'Balayage du tableau
    For compteur = 2 To Range("K2").End(xlDown).Row
        'Condition de ciblage 1
        If Range("K" & compteur) = "#N/A" Then
            'Exemple d'action sur la cellule cible
            Range("K" & cpt) = "coucou"
        End If
        'Condition de ciblage 2
        If Range("K" & compteur) = "#REF" Then
            'Exemple d'action sur la cellule cible
            Range("K" & compteur) = "coucou2"
        End If
    Next compteur
    '
    End Sub
    Qu'en penses-tu ?
    Si j'ai pu vous aider, dites le avec 1 pouce

  7. #7
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut
    Merci c'est parfait!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Suppression ligne qui ne contient pas de cellule de couleur.
    Par chpierro62 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/01/2015, 10h58
  2. Suppression ligne en fonction de deux cellules
    Par jamesdu75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/04/2013, 18h27
  3. Suppression de toutes les lignes avec cellule vide en colonne A
    Par Cyclemmanuel dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2012, 20h43
  4. [XL-2000] Suppression ligne entière si cellule vide
    Par RAID14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/07/2010, 15h00
  5. [VBA-E]suppression lignes a partir d'une cellule active
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/02/2007, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo