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 :

Débutant: Remplacer #ref! par 0 dans mon fichier xls


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut Débutant: Remplacer #ref! par 0 dans mon fichier xls
    Bonjour, j'extraits de mon tab Croisé dynmq des fichiers sur différents marchés, et quand pour certaines années, je n'ai pas de données, j'ai #ref!, que je voudrai remplacer par 0. Help me

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Le mieux est de travailler sur la formule. Peux-tu nous la montrer ?

    PS - Pense à nos vieuzyeux... C'est mignon quand c'est petit mais c'est plus grand que c'est plus lisible

    PS (re) - Bienvenue sur le forum

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    tu fait ta recherche dans le TCD avec quoi comme fonction ? pour enlever le # REF, a mon avis il faut que tu regarde du coté d ela fonction ESTERREUR

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut Jle fais pour une cellule ,mais pas toutes.. je m'explique
    Citation Envoyé par illight
    tu fait ta recherche dans le TCD avec quoi comme fonction ? pour enlever le # REF, a mon avis il faut que tu regarde du coté d ela fonction ESTERREUR

    Oui bein en fait, je fais appel à ce TCD à partir d'une autre procédure:
    Soit Sortie, le fichier de données à partir duquel est fait le TCD
    On a une maquette qui represente un modele sur lequel on va extrapoler les donnees de chaque marché.
    On doit avoir au final 10 fichiers qu'on pourra ouvrir dans un dossier appelé DOSS.


    Jai d'abord ds mon prog, la construction du TCD, puis la mise en page de la Maquette (la maquette est un modele de fichier de données), ainsi tous les fichiers (à savoir pour chaque marché financier (il y a 5 marchés: marche1, marche2...) avec ou sans A( donc 2*5=10 marchés(marche1A, marche1B, marche2A...)) prennent la meme forme que la maquette, mais il faudrait que leurs données ainsi copiées ne le soient qu'en valeur!!!!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub temp()
    Dim destination As String
    destination = "chemin\billyl\"
     
    Windows("Sortie.xls").Activate
    ActiveSheet.PivotTables("TCD").PivotFields("A"). _
        CurrentPage = "A"
    ActiveSheet.PivotTables("TCD").PivotFields("Marches_"). _
        CurrentPage = "marche1"
    Windows("Maquette.xls").Activate
    ActiveWorkbook.Save
    ActiveWorkbook.SaveAs Filename:=destination & "marche1A.xls"
    Quant à la fonction esterr, , je pense que c'est skil faudrait faire mais quelle est la bonne formule dont j'ai besoin pour que ça porte sur toutes les cellules #REF! , et sur quel fichier faut il que je mette cette formule? je pense que ce doit etre sur la Maquette mais comment l'ecrire en code vba ?

    Ca fait long pour pas bcp de difficultés je pense, mais ce sont mes pbs rencontrés!!!
    Merci d'avance......

  5. #5
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    A mon souvenir, je crois que tu peux pas regarder une cellule en VBA et récupérer la valeur d'une cellule si c'est une erreur, après peut etre que je me trompe


    Pour le ESTERREUR, regarde dans l'aide en ligne comment elle marche

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par illight
    A mon souvenir, je crois que tu peux pas regarder une cellule en VBA et récupérer la valeur d'une cellule si c'est une erreur, après peut etre que je me trompe


    Pour le ESTERREUR, regarde dans l'aide en ligne comment elle marche

    Justement, avec le esterr, ça pourrait marcher, mais je n'arrive pas à le faire sur l'ensemble de la feuille. Un clik-gliss n'a pas l'effet que je voudrais, car il me fait ressortir exactement la meme donnée, il me copie colle la meme donnee pour toutes les annees, alors k pour chq annee elles devraient etre differentes.

    Merci pour le retour, je pense que ce devrait etre the last one!!!

  7. #7
    Membre actif Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 18
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 276
    Points
    276
    Par défaut utilisation de esterreur
    =si(esterreur(TAFORMULE);"0";TAFORMULE)

    Copie incrémenté de la fomule sur la plage concerné et ça marche C garantie.



    Pour afficher 0 à la place d'une erreur, peut être remplacé avantageusement (ça permet de les détecter plus facilement) par un texte "Erreur" par exemple sauf si tu as besoin de faire des calculs sur cette plage de cellules.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par ilcocodrillo
    =si(esterreur(TAFORMULE);"0";TAFORMULE)

    Copie incrémenté de la fomule sur la plage concerné et ça marche C garantie.



    Pour afficher 0 à la place d'une erreur, peut être remplacé avantageusement (ça permet de les détecter plus facilement) par un texte "Erreur" par exemple sauf si tu as besoin de faire des calculs sur cette plage de cellules.


    Lol, merci c sympa!! mais ce que je voulais dire c'est que : imaginez :
    En abscisse g des années, en ordonnée, g des années et des mois.
    Dans la cellule (1;1), j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =LIREDONNEESTABCROISDYNAMIQUE("donnees";'chemin\[Sortie.xls]Sortie1'!$A$4;"post1";"rouge";"ANNEEX";2000;"ANNEEY";2000;"MOISY";1)
    Je mets à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =si(esterr(LIREDONNEESTABCROISDYNAMIQUE("donnees";'chemin\[Sortie.xls]Sortie1'!$A$4;"post1";"rouge";"ANNEEX";2000;"ANNEEY";2000;"MOISY";1));0;LIREDONNEESTABCROISDYNAMIQUE("donnees";'chemin\[Sortie.xls]Sortie1'!$A$4;"post1";"rouge";"ANNEEX";2000;"ANNEEY";2000;"MOISY";1)))
    Ok! ça va me remplacer #REF! par un 0.
    Seulement, je voudrais appliquer ça à toute la feuille, car chq mois, on a des donnees propres supplementaires. Je pense que ça devrait le faire pr lexplication là... lol

    Merci de prendre votre le temps, c cool!!!

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Points : 304
    Points
    304
    Par défaut
    Ca ne marche pas en copiant/collant la formule sur toute la feuille ?

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    So sorry man!!!!!
    Bein en fait non, même pas, ç'aurait été tellement simple!!!
    Quand je fais un copier coller sur l'ensemble des cellules, je retrouve les memes données sur toutes les cellules....
    Alors je recommence, SSSSVVVVVVPPPPPP, please help me!!!!

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Points : 304
    Points
    304
    Par défaut


    Waouh alors essaie un copier-coller de formule.
    Il suffit de faire copier / collage spécial -> formule
    Normalement, ca doit marcher.
    Non, peut-être que ca vient du $A$4
    Essaie de le remplacer par A4
    Rappel : ce n'est pas la peine d'implorer les gens "H3lp SvP aid2 moua"

    Après, j'avoue pas trop comprendre ton problème, c'est pas bien clair tout ca

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 26
    Points : 14
    Points
    14
    Par défaut
    Dur dur , ça ne marche pas, j'ai beau changer en retirant le $, ça ne marche pas!!! Pourtant, j'en suis sure que ce ne doit pas etre si difficil que ça!!! Quand on aura trouvé, on dira :" Bein oui, c t pourtant pas si compliqué, c'est bête comme mes pieds"!!! J'espère en arriver là le plus tôt possible je vous avoue....

  13. #13
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Commençons par le commencement :
    Tu as testé ta formule ? Donne-t-elle le résultat escompté ?

    NB- Evite les caractères gros et gras, réserve-les pour insister sur un point précis

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Option prédéfinie du TCD
    Bonjour,
    Il me semble que dans les propriétés du tcd (clic droit dans TCD choix Option du tableau), on a un bouton valeur d'erreur qui permet de choisir quoi afficher en cas d'erreur.
    En cochant ce bouton #ref! n'apparaitra plus, c'est la valeur choisie qui s'affichera à la place

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

Discussions similaires

  1. [Python 3.X] Remplacer virgule par point dans un fichier csv
    Par marco056 dans le forum Général Python
    Réponses: 2
    Dernier message: 21/11/2014, 18h20
  2. Remplacer espaces par _ dans répertoires et fichiers
    Par fanch35 dans le forum Langage
    Réponses: 14
    Dernier message: 25/06/2012, 14h57
  3. Réponses: 5
    Dernier message: 01/06/2011, 00h40
  4. Réponses: 1
    Dernier message: 21/05/2008, 11h56
  5. [VBA-E]Remplacement virgules par tabulation dans un fichier texte
    Par Mlezen dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/05/2006, 14h03

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