Microsoft 365 Simplifier une formule qui récupère une chaine de caractères

pascal95170

XLDnaute Nouveau
Bonjour

J'ai la formule suivante ci dessous qui me permet de récupérer une date 26 caractères avant une des 4 phrases mises en rouge (grâce aux fonctions STXT et CHERCHE) . La formule fonctionne mais elle fait ramer mon fichier Excel car les SIERREUR qui s'imbriquent avec les rechercheV font je pense travailler le PC un peu trop. Y aurait t'il un moyen d’intégrer les 4 phrases dans la fonction CHERCHE et n'avoir qu'une seul rechercheV par exemple pour économiser de la ressource PC ? Malheureusement je ne peux pas vous mettre de fichier car un peu compliqué à reproduire mais si vous avez une idée je peux tester :)
Merci

=SIERREUR(DATEVAL(STXT(RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0);CHERCHE("Commande support IPADSL vers VDSL - Fin du pilotage de la commande du support IP ADSL : délai expiré, pour récupérer les erreurs FOP";RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0))-26;10)); SIERREUR(DATEVAL(STXT(RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0);CHERCHE("Commande support ADSL NU vers VDSL NU - L'activité a été terminée";RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0))-26;10)); SIERREUR(DATEVAL(STXT(RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0);CHERCHE("Commande Support xDSL NU - La commande du support ADSL NU a été délivrée";RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0))-26;10)); SIERREUR(DATEVAL(STXT(RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0);CHERCHE("Commande support IPADSL vers VDSL - L'activité a été terminée";RECHERCHEV($B5;'Import Wed'!$B:$BR;COLONNES('Import Wed'!$B:V);0))-26;10));""))))
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @pascal95170 ;),

Difficile de dire quelque chose sans un fichier exemple (je comprends aussi qu'il peut être difficile d'en joindre un dans certain cas).

Néanmoins je vois dans dans votre formule l'utilisation de colonnes entières comme par exemple :
  • 'Import Wed'!$B:$BR
  • 'Import Wed'!$B:V
Il est toujours bon de limiter la quantité de données à traiter par une formule.
Vous pouvez sans doute (par votre connaissance des données) déterminer une borne max pour la présence des données. Imaginons que ce soit 99 999. Au delà les lignes ne comporteront jamais de données.

Dans ces cas, on peut remplacer 'Import Wed'!$B:BR par 'Import Wed'!$B1:BR99999 et idem pour l'autre Import Wed'!$B1:V99999 pour limiter l'étendue des recherches.
 

pascal95170

XLDnaute Nouveau
Bonsoir @pascal95170 ;),

Difficile de dire quelque chose sans un fichier exemple (je comprends aussi qu'il peut être difficile d'en joindre un dans certain cas).

Néanmoins je vois dans dans votre formule l'utilisation de colonnes entières comme par exemple :
  • 'Import Wed'!$B:$BR
  • 'Import Wed'!$B:V
Il est toujours bon de limiter la quantité de données à traiter par une formule.
Vous pouvez sans doute (par votre connaissance des données) déterminer une borne max pour la présence des données. Imaginons que ce soit 99 999. Au delà les lignes ne comporteront jamais de données.

Dans ces cas, on peut remplacer 'Import Wed'!$B:BR par 'Import Wed'!$B1:BR99999 et idem pour l'autre Import Wed'!$B1:V99999 pour limiter l'étendue des recherches.
D'accord, merci. Je testerai demain. Sinon j'ai réussi à reproduire un petit exemple ci joint si cela peut aider :)
 

Pièces jointes

  • exemple.xlsx
    12.7 KB · Affichages: 2

Statistiques des forums

Discussions
313 204
Messages
2 096 206
Membres
106 529
dernier inscrit
ironmachine