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 :

selectionner cellules contenant une erreur [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Par défaut selectionner cellules contenant une erreur
    Bonjour,

    J'ai un très grand tableau, avec parfois des erreurs de noms, de valeurs (#ERR, #NOM, #VALEUR...)
    Tout cela est normal.
    Je voudrais juste pouvoir selectionner toutes les cellules contenant ces erreurs, toutes en une seule fois (parce qu'il y en a beaucoup), avec une macro!
    Est-ce que quelqu'un aurait une solution?
    Merci d'avance
    Tioch

  2. #2
    Membre chevronné Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Par défaut
    Voici un morceau de code qui peux t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Lig = Sheets(1).Range("A65536").End(xlUp).Row
    Col = Sheets(1).Range("IV1").End(xlToLeft).Column
     
    For Each cell_trouve In Sheets(1).Range(Cells(1, 1), Cells(Lig, Col))
     
        If cell_trouve.Errors.Item(xlNumberAsText).Value = True Then
            cell_trouve.Select
        End If
     
    Next
    Par contre, on ne peux pas selectionner plusieurs cellule qui ne se suivent pas. On peux selectionner une cellule ou une plage de cellule.

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Par défaut
    Merci delphine pour ta réponse.
    Mais le problème c'est que ça ne fonctionne pas.
    Ca ne sélectionne aucune cellule en particulier.
    Alors est-ce le fait que les cellules avec erreur ne sont pas cote a cote dans une zone précise? Comme tu as a dit que ca ne marcherai pas pour des cellules non accollées.

    Merci a toi et d'avance à tous pour toutes vos réponses et aides

  4. #4
    Membre chevronné Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Par défaut
    Alors est-ce le fait que les cellules avec erreur ne sont pas cote a cote dans une zone précise?
    oui c'est pour ca !

    Et c'est pour faire quoi exactement ?

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Par défaut
    Ok
    En fait j'ai plein de cellules (environ 30 000) avec pour chacune d'elle soit une formule, parfois en fonction d'autres feuilles de calculs, ou des liens hypertextes et du coup il y a beaucoup de cellules avec erreurs. Mais je sais pourquoi il y a ces erreurs et je peux, et je veux rien y faire.
    Du coup pour rendre mon tableau plus propre je veux remplacer toute les erreurs (#ERR, #NOM?...) par des croix X.
    J'ai deja réaliser un code sui prend cellule par cellule, regarde si il y a une erreur et ensuite remplace par une croix si c'est le cas.
    Or c'est beaucoup trop long.
    J'ai donc pensais qu'une des solutions serait pluto de selectionner toutes les cases avec erreurs, puis après de juste écrire X dans chacune de ces cases.

    Mais je sais pas si ca sera plus rapide, si ca marche comme idée.
    Mais je teste parce que j'ai pas trop d'autre solution.
    Je mets en dessous le code trop long

    Merci

    Tioch


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Each cel In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
            oldCel = Mid(cel.FormulaR1C1, 2, Len(cel.FormulaR1C1) - 1)
            cel.FormulaR1C1 = "=IF(ISERROR(" & oldCel & "),""X""," & oldCel & ")"
        Next cel

  6. #6
    Membre chevronné Avatar de delphine35
    Femme Profil pro
    Analyste BO
    Inscrit en
    Novembre 2009
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Analyste BO

    Informations forums :
    Inscription : Novembre 2009
    Messages : 265
    Par défaut
    Je t'ai mis un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    Lig = Sheets(1).Range("A65536").End(xlUp).Row
    Range(Cells(1, 4), Cells(Lig, 4)).FormulaR1C1 = "=IFERROR(RC[-1],""X"")"
    ici la colonne a verifier est la colonne 3. On ecrit en colonne 4 la fonction "=IFERROR(RC[-1],""X"")" qui porte sur la colonne RC[-1] = 3
    S'il y a une erreur il met X, sinon le contenu de la cellule.

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2011
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 80
    Par défaut
    Ok merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2013, 13h00
  2. Lire une cellule contenant une erreur
    Par SpyKe974 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/08/2009, 20h27
  3. Réponses: 8
    Dernier message: 17/03/2008, 13h01
  4. Récupérer la cellule contenant une image
    Par phpphp dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2007, 15h45
  5. Recherche cellule contenant une chaine
    Par the java lover dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/11/2005, 15h37

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