OVH Cloud OVH Cloud

effacement des valeurs ERREURS

20 réponses
Avatar
axel
Rebonjour,

la selection des erreurs par

Selection.SpecialCells(xlCellTypeFormulas, 16).Select
me pose un problème.

La macro me sélectionne des cellules sans erreurs (qui font
référence à d'autres cellules du classeur sans erreur non plus).

j'ai essayé de colorer les cellules en question pour voir
si elles contenaient réellement une erreur mais il n'en est
rien. Voilà comment j'ai fait:

Range("A1:H52").Select
Selection.SpecialCells(xlCellTypeFormulas, 16).Select
'Selection.FormulaR1C1 = "-"
With Selection.Interior
.ColorIndex = 16
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With

Comprennez vous cela ?

Bien cordialement.

10 réponses

1 2
Avatar
Jacky
Re...
certaine valeurs "non erreurs" disparaissent.
Si tu es sur de ceci,


Je doute fort pouvoir résoudre ce problème
Les erreurs de formules sont en cascade, feuille synthèse>>feuille
2>>feuille 1

Tu peux tester avec ce genre de code par exemple pour la feuille synthèse
'---------
Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal =
Trim(cCell.Text)
Next
[A1].Select
'---------------
De la source à synthèse
--
Salutations
JJ


"Axel" a écrit dans le message de news:
46f8127c$0$16877$

Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est du
'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.





Avatar
isabelle
bonjour Axel,

il y a la possibilité de le faire par vba ou par recherche/remplacer
mais difficile de conclure sans voir les données.
si tu peut déposer ton fichier ici : http://www.cjoint.com

et revenir donner ici le lien de téléchargement que le site va donner.
je pourrai alors le télécharger et regarder de plus près.

isabelle


Merci Isabelle de te pencher sur mon problème.

Cela signifie-t-il que je doive modifier manuellement 700
formules pour y inclure le test d'erreur ?

Moi (et mon perfectionnisme) me poussaient à trouver la raison
de mon souci à l'intérieur de mon code.

Enfin, s'il n'y a que cela comme solution, je m'y résignerai.

++



Re: effacement des valeurs ERREURS





bonjour Axel,

tu pourrais modifier les formules de cette façon :

=SI(ESTERREUR("TaFormuleOriginal");"ERREUR";"TaFormuleOriginal")

isabelle



Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est du
'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.









Avatar
Axel
Re Isabelle,

j'ai déjà essay de remplacer les erreurs par VB
en copiant/collant les valeurs pour reproduire
la chaine de caractère "#N/A" que je voulais
remplacer par un VIDE.

Mais ça bloquait aussi.

Jacky me suggère ceci:

Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal Trim(cCell.Text)
Next

Pas le temps hélas d'essayer ce matin son idée, je ferai cela ce soir.

En attendant, si tu veux t'y atteler:


http://cjoint.com/?jyvNz8AWmh

Je te remercie d'avance des efforts que tu pourra fournir en ce sens.

Bien à toi et bonne journée.

Axel.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

bonjour Axel,

il y a la possibilité de le faire par vba ou par recherche/remplacer
mais difficile de conclure sans voir les données.
si tu peut déposer ton fichier ici : http://www.cjoint.com

et revenir donner ici le lien de téléchargement que le site va donner.
je pourrai alors le télécharger et regarder de plus près.

isabelle


Merci Isabelle de te pencher sur mon problème.

Cela signifie-t-il que je doive modifier manuellement 700
formules pour y inclure le test d'erreur ?

Moi (et mon perfectionnisme) me poussaient à trouver la raison
de mon souci à l'intérieur de mon code.

Enfin, s'il n'y a que cela comme solution, je m'y résignerai.

++



Re: effacement des valeurs ERREURS





bonjour Axel,

tu pourrais modifier les formules de cette façon :

=SI(ESTERREUR("TaFormuleOriginal");"ERREUR";"TaFormuleOriginal")

isabelle



Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est du
'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.











Avatar
Axel
Pour mes soucis concernant le selection.replace
tu peux lire l'historique de mes posts en cherchant:
"Problème avec Selection.Replace"

Bien à toi

+++++++++++++++++++++++++++++++++++++++++++++++++++++

bonjour Axel,

il y a la possibilité de le faire par vba ou par recherche/remplacer
mais difficile de conclure sans voir les données.
si tu peut déposer ton fichier ici : http://www.cjoint.com

et revenir donner ici le lien de téléchargement que le site va donner.
je pourrai alors le télécharger et regarder de plus près.

isabelle


Merci Isabelle de te pencher sur mon problème.

Cela signifie-t-il que je doive modifier manuellement 700
formules pour y inclure le test d'erreur ?

Moi (et mon perfectionnisme) me poussaient à trouver la raison
de mon souci à l'intérieur de mon code.

Enfin, s'il n'y a que cela comme solution, je m'y résignerai.

++



Re: effacement des valeurs ERREURS





bonjour Axel,

tu pourrais modifier les formules de cette façon :

=SI(ESTERREUR("TaFormuleOriginal");"ERREUR";"TaFormuleOriginal")

isabelle



Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est du
'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.











Avatar
isabelle
bonjour Axel,

c'est difficile de travailler avec ce fichier car il y a beaucoup de formule fesant référence à la feuille "1"
et cette feuille n'est pas présente dans ce fichier.

isabelle




Pour mes soucis concernant le selection.replace
tu peux lire l'historique de mes posts en cherchant:
"Problème avec Selection.Replace"

Bien à toi

+++++++++++++++++++++++++++++++++++++++++++++++++++++


bonjour Axel,

il y a la possibilité de le faire par vba ou par recherche/remplacer
mais difficile de conclure sans voir les données.
si tu peut déposer ton fichier ici : http://www.cjoint.com

et revenir donner ici le lien de téléchargement que le site va donner.
je pourrai alors le télécharger et regarder de plus près.

isabelle



Merci Isabelle de te pencher sur mon problème.

Cela signifie-t-il que je doive modifier manuellement 700
formules pour y inclure le test d'erreur ?

Moi (et mon perfectionnisme) me poussaient à trouver la raison
de mon souci à l'intérieur de mon code.

Enfin, s'il n'y a que cela comme solution, je m'y résignerai.

++



Re: effacement des valeurs ERREURS






bonjour Axel,

tu pourrais modifier les formules de cette façon :

=SI(ESTERREUR("TaFormuleOriginal");"ERREUR";"TaFormuleOriginal")

isabelle



Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est
du 'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.













Avatar
Axel
Bonsoir Isabelle,

il n'y a pas de feuille 1 car mon code renomme la feuille
unique de mon fichier "csv d'origine" avant d'importer le modèle.

Ainsi, toutes les formules se réfèrent à cette feuille.

En fait mon système d'information me fournit ce CSV qui est
dynamique en fonction de du nombre de mois facturés et du type
de produit utilisé : 8R, 8V, 8L...

Bien à toi.

+++++++++++++++++++++++++++


bonjour Axel,

c'est difficile de travailler avec ce fichier car il y a beaucoup de
formule fesant référence à la feuille "1"
et cette feuille n'est pas présente dans ce fichier.

isabelle




Pour mes soucis concernant le selection.replace
tu peux lire l'historique de mes posts en cherchant:
"Problème avec Selection.Replace"

Bien à toi

+++++++++++++++++++++++++++++++++++++++++++++++++++++


bonjour Axel,

il y a la possibilité de le faire par vba ou par recherche/remplacer
mais difficile de conclure sans voir les données.
si tu peut déposer ton fichier ici : http://www.cjoint.com

et revenir donner ici le lien de téléchargement que le site va donner.
je pourrai alors le télécharger et regarder de plus près.

isabelle



Merci Isabelle de te pencher sur mon problème.

Cela signifie-t-il que je doive modifier manuellement 700
formules pour y inclure le test d'erreur ?

Moi (et mon perfectionnisme) me poussaient à trouver la raison
de mon souci à l'intérieur de mon code.

Enfin, s'il n'y a que cela comme solution, je m'y résignerai.

++



Re: effacement des valeurs ERREURS






bonjour Axel,

tu pourrais modifier les formules de cette façon :

=SI(ESTERREUR("TaFormuleOriginal");"ERREUR";"TaFormuleOriginal")

isabelle



Re,

en fait, s'il y a erreur , c'est que ma feuille de
travail ne trouve pas de données à traiter. Donc
c'est normal ! Elle renvoit #N/A a des fonctions comme
'DECALLER", INDEX ou autres. Parce que je lui demande de
chercher des valeurs qui n'existent pas toujours.

désolé de t'embêter encore mais je me retrouve
dans la même situation qu'au début : certaine valeurs "non erreurs"
disparaissent.

C'est à n'y rien comprendre.

Je suis dans une impasse.
Si tu as une seconde, peux tu stp jeter un oeil à mon code ?

Je t'en serai franchement reconnaissant.
Je vais encore me creuser la tete pour essayer de trouver
de mon côté.

Je te passe tout mon travail, tu comprendras mieux.
Ca va peut être te paraître barbare comme méthode mais
ça fait 1 mois que j'ai commencé le VB

http://cjoint.com/?jyvNz8AWmh



Bien à toi.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
Je ne connais pas la finalité de ton fichier....mais
Supprimer des cellules dont la formule produit une erreur, c'est
du 'jamais vu' pour moi....
Je serais plutôt pour corriger les erreurs.















Avatar
Axel
Re jacky,

Si j'ai bien compris, tu veux que je teste en cascade
les feuilles avec "if is not error".
Je ne connais pas ce type d'action mais j'ai essayé de
l'appliquer, sans succès, en commençant par la feuille 2,
puis la synthèse et la Saturne pour terminer. L'effet est invisible.

Par contre ce que je ne comprends pas, c'est que tu veuilles
tester "si pas erreur" mais que tu ne donnes pas d'instruction
"si erreur".

Me fais-je comprendre, et mon raisonnement est-il correct ?

Bien cordialement.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
certaine valeurs "non erreurs" disparaissent.
Si tu es sur de ceci,


Je doute fort pouvoir résoudre ce problème
Les erreurs de formules sont en cascade, feuille synthèse>>feuille
2>>feuille 1

Tu peux tester avec ce genre de code par exemple pour la feuille synthèse
'---------
Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal =
Trim(cCell.Text)
Next
[A1].Select
'---------------
De la source à synthèse




Avatar
Jacky
Re...

Avec ce que j'ai pu comprendre

J'ai testé ceci qui fonctionne chez moi......

La présence de feuille 1 est necessaire, du moins pour ce test.

Voir ici

http://cjoint.com/?jAwPtixli5

Salutations

JJ

"Axel" a écrit dans le message de news:
46f96a26$0$31553$


Re jacky,

Si j'ai bien compris, tu veux que je teste en cascade
les feuilles avec "if is not error".
Je ne connais pas ce type d'action mais j'ai essayé de
l'appliquer, sans succès, en commençant par la feuille 2,
puis la synthèse et la Saturne pour terminer. L'effet est invisible.

Par contre ce que je ne comprends pas, c'est que tu veuilles
tester "si pas erreur" mais que tu ne donnes pas d'instruction
"si erreur".

Me fais-je comprendre, et mon raisonnement est-il correct ?

Bien cordialement.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
certaine valeurs "non erreurs" disparaissent.
Si tu es sur de ceci,


Je doute fort pouvoir résoudre ce problème
Les erreurs de formules sont en cascade, feuille synthèse>>feuille
2>>feuille 1

Tu peux tester avec ce genre de code par exemple pour la feuille synthèse
'---------
Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal =
Trim(cCell.Text)
Next
[A1].Select
'---------------
De la source à synthèse






Avatar
axel
Salut Jacky,

beaucoup de temps avant de te répondre....

Quelques soucis de santé.

Je regarde ton fichier et te donne des nouvelles.

Bien à toi.



"Jacky" a écrit dans le message de news:
%
Re...

Avec ce que j'ai pu comprendre

J'ai testé ceci qui fonctionne chez moi......

La présence de feuille 1 est necessaire, du moins pour ce test.

Voir ici

http://cjoint.com/?jAwPtixli5

Salutations

JJ

"Axel" a écrit dans le message de news:
46f96a26$0$31553$


Re jacky,

Si j'ai bien compris, tu veux que je teste en cascade
les feuilles avec "if is not error".
Je ne connais pas ce type d'action mais j'ai essayé de
l'appliquer, sans succès, en commençant par la feuille 2,
puis la synthèse et la Saturne pour terminer. L'effet est invisible.

Par contre ce que je ne comprends pas, c'est que tu veuilles
tester "si pas erreur" mais que tu ne donnes pas d'instruction
"si erreur".

Me fais-je comprendre, et mon raisonnement est-il correct ?

Bien cordialement.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
certaine valeurs "non erreurs" disparaissent.
Si tu es sur de ceci,


Je doute fort pouvoir résoudre ce problème
Les erreurs de formules sont en cascade, feuille synthèse>>feuille
2>>feuille 1

Tu peux tester avec ce genre de code par exemple pour la feuille
synthèse
'---------
Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal =
Trim(cCell.Text)
Next
[A1].Select
'---------------
De la source à synthèse










Avatar
axel
Re Jacky et merci,

j'ai trouvé !
Je suis une bille en fait !

En exécutant ton code, j'ai vu que ça marchait.
En intégrant ton code au mien, le problème de suppression
à tort de certaines valeurs était revenu.

En relisant tout mon code et en comparant au tien, je me suis
aperçu qu'il y avait cette ligne dans mon code :

Application.Calculation = xlCalculationManual

et c'était elle qui me mettait dedans depuis le début.

Tu m'as permis de faire un "grand" pas dans mon projet et je
te remercie encore.

Bien à toi.



"Jacky" a écrit dans le message de news:
%
Re...

Avec ce que j'ai pu comprendre

J'ai testé ceci qui fonctionne chez moi......

La présence de feuille 1 est necessaire, du moins pour ce test.

Voir ici

http://cjoint.com/?jAwPtixli5

Salutations

JJ

"Axel" a écrit dans le message de news:
46f96a26$0$31553$


Re jacky,

Si j'ai bien compris, tu veux que je teste en cascade
les feuilles avec "if is not error".
Je ne connais pas ce type d'action mais j'ai essayé de
l'appliquer, sans succès, en commençant par la feuille 2,
puis la synthèse et la Saturne pour terminer. L'effet est invisible.

Par contre ce que je ne comprends pas, c'est que tu veuilles
tester "si pas erreur" mais que tu ne donnes pas d'instruction
"si erreur".

Me fais-je comprendre, et mon raisonnement est-il correct ?

Bien cordialement.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Re...
certaine valeurs "non erreurs" disparaissent.
Si tu es sur de ceci,


Je doute fort pouvoir résoudre ce problème
Les erreurs de formules sont en cascade, feuille synthèse>>feuille
2>>feuille 1

Tu peux tester avec ce genre de code par exemple pour la feuille
synthèse
'---------
Sheets("SYNTHESE").Select
Range("A1:H52").Select
For Each cCell In Range("A1:H52")
If Not IsError(Trim(cCell.Text)) Then cCell.FormulaLocal =
Trim(cCell.Text)
Next
[A1].Select
'---------------
De la source à synthèse










1 2