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
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
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![]()
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![]()
Envoyé par illight
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!!!!
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 ?
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"
Ca fait long pour pas bcp de difficultés je pense, mais ce sont mes pbs rencontrés!!!
Merci d'avance......
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![]()
Envoyé par illight
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!!!![]()
=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.
Envoyé par ilcocodrillo
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:
Je mets à la place :
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)
Ok! ça va me remplacer #REF! par un 0.
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)))
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!!!![]()
![]()
Ca ne marche pas en copiant/collant la formule sur toute la feuille ?
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!!!!
![]()
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
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....![]()
![]()
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![]()
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager