Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/12/2010, 14h15   #1
Membre actif
 
Avatar de Peanut
 
Inscription : décembre 2003
Messages : 375
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 375
Points : 192
Points : 192
Par défaut épurer les formules nécessitant des tests d'erreurs

Hello,

très souvent (pour ne pas dire tout le temps) je suis obligé d'adjoindre à mes formules des tests de vérification d'erreur.
Par exemple pour un simple =RECHERCHEV(x;m;i;FAUX), je me vois obligé d'écrire =SI(ESTNA(RECHERCHEV(x;m;i;FAUX));"";RECHERCHEV(x;m;i;FAUX)).

Cela rend les formules illisibles et la maintenance ardue, sans compter que cela augmente la taille des fichiers et probablement les temps de calcul. (là je vous l'ai fait simple, mais les formule peuvent être bien plus complexes et les données très volumineuses : plusieurs dizaines de Mo pour les fichiers que je traite actuellement)

Existe-t-il une syntaxe qui m'est inconnue pour remédier à cela ?
Peanut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 15h29   #2
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 422
Points : 14 422
Envoyer un message via Skype™ à Pierre Fauconnier
Salut.

En 2003, je ne vois pas comment éviter cela.

A partir de la version 2007, on peut utiliser SIERREUR(Valeur;ValeurSiErreur)qui allège la formule et facilite la maintenance, en plus d'accélérer l'exécution sur de grands tableaux et/ou de grandes formules.
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 16h58   #3
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
bjr,

une idée : reprogrammer la fonction SIERREUR :

Code à mettre dans un module :
1
2
3
4
5
6
7
8
 
Public Function SIERREUR(pValeur As Variant, pValeurSiErreur As Variant) As Variant
If IsError(pValeur) Then
    SIERREUR = pValeurSiErreur
Else
    SIERREUR = pValeur
End If
End Function

à utiliser comme la fonction de la version 2007 :
Code :
=SIERREUR(RECHERCHEV(x;m;i;FAUX);"")
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 03/12/2010, 17h09   #4
Membre actif
 
Avatar de Peanut
 
Inscription : décembre 2003
Messages : 375
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 375
Points : 192
Points : 192
Génial, j'adore ! (et ça marche)
Peanut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 17h13   #5
Responsable
Office & Excel

 
Avatar de Pierre Fauconnier
 
Homme Pierre Fauconnier
Formateur et développeur informatique indépendant
Inscription : novembre 2003
Messages : 8 198
Détails du profil
Informations personnelles :
Nom : Homme Pierre Fauconnier
Âge : 45
Localisation : Belgique

Informations professionnelles :
Activité : Formateur et développeur informatique indépendant
Secteur : Enseignement

Informations forums :
Inscription : novembre 2003
Messages : 8 198
Points : 14 422
Points : 14 422
Envoyer un message via Skype™ à Pierre Fauconnier
Excellent !!

Attention toutefois, pour des raisons de compatibilité ascendante, je ne donnerais pas à la fonction perso le même nom qu'une fonction native 2007, et je la renommerais par exemple SiErreur2003 ou p_SiErreur ...)

Mais c'est très bon comme idée!!
__________________
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------

Ma nouvelle vidéo: comparer des listes via une MFC - Mes articles sur DVP
Vous souhaitez rédiger pour DVP? Contactez-moi
Amoureux de la langue française? Venez corriger nos ressources
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
N'oubliez pas de VOTER (en bas à droite d'un message)

---------------
Pierre Fauconnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 17h25   #6
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 936
Points : 7 936
Citation:
Envoyé par Pierre Fauconnier Voir le message
Attention toutefois, pour des raisons de compatibilité ascendante, je ne donnerais pas à la fonction perso le même nom qu'une fonction native 2007, et je la renommerais par exemple SiErreur2003 ou p_SiErreur ...)
effectivement, mais il prend en priorité la fonction interne s'il y a un doublon
sous 2007 il affiche un message d'avertissement (qui pourrait d'ailleurs perturber un utilisateur) à l'ouverture du classeur

si on nomme la fonction différemment on peut ensuite la changer dans toutes les formules avec un rechercher/remplacer le jour où on passe exclusivement sur 2007 et qu'on souhaite profiter de la fonction interne
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h29.


 
 
 
 
Partenaires

Hébergement Web