XL 2016 Gestion massive de chaînes de caractères

magicglide

XLDnaute Nouveau
Bonjour à tous,

Je me lance dans un 'petit' projet qui dépasse de loin mes compétences courantes en excel, je vais avoir besoin d'un sérieux coup de main pour le mener à bien.

Pour avoir une vision d'ensemble et mieux comprendre ma problématique, voici le projet.

Dans le cadre de migrations de sites internet, j’utilise excel pour manipuler des quantités plus ou moins importantes de listes d'URLs. Cette manipulation d'URLs consiste principalement à trier un listing d’URLs original et à le découper en catégories d'URLs.

Ces catégories sont déterminées par des critères que l’on applique au contenu des URLs càd à leurs chaines de caractères. Au final, la liste originale d'URLs devra être segmentée en plusieurs sous listes selon son propre contenu.

Illustrons par l’exemple l’objectif que je cherche à atteindre.
Imaginons la récupération d’une liste d’URLs importée en colonne A - 1er onglet.
Une fois triée par ordre alphabétique, nous obtenons l’échantillon ci-dessous de 75 URLs.

Pour fabriquer mes catégories donc mes sous listing, je dis que pour chaque contenu (url)…
1/ après la chaîne de caractères connue : ‘http://www.ndd.fr
ET
2/ comprise entre ‘/
…constituera désormais une nouvelle catégorie.


























































A la lecture de cet échantillon, on comprend vite que mes catégories d’URLs seront :
- 10-12-17-ans
- 11-18-25-ans
- 17-été
- 18-juillet
- 54-europe
- 6-age
- 8-destination
- 9-6-11-ans
Je ne cherche pas à déterminer les sous-catégories en allant plus profondément dans l’arborescence. Seule la 1ère catégorie (1er niveau d’arborescence après le NDD) m’intéresse.

Le travail que je fais actuellement (avec plus ou moins d’automatisation) consiste donc à copier du listing original des blocs d’URLs correspondant à une catégorie puis de les recopier dans l’onglet suivant du même fichier excel.

Quand on a un échantillon de 75 URLs, de 1 000, même de 10 000, l’exercice reste facile à mettre en œuvre. Là où ça se complique c’est quand on récupère des listings de plusieurs dizaines voire de centaines de milliers d’adresses – si si... ça existe selon la taille du site. Là les manipulations prennent des heures, deviennent vite harassantes sans compter la lenteur d’exécution due à la taille des données ce qui accroît le risque d’erreur humaine et/où de plantage.

C’est ce temps de travail que je cherche à optimiser.

En résumé,
J’importe un listing d’URLs en colonne A du 1er onglet.
J’éclate ce listing en sous listing fait de catégories dans les onglets suivants.
Autant de catégorie, autant d’onglet.

Contrainte supplémentaire, je ne parle pas VBA.
Je souhaite donc pouvoir traiter ce process par l’ensemble des fonctions d’excel. Ca permettra de comprendre et de peaufiner le fichier au fil du temps.

J’en suis pour l’instant à tenter de comprendre (non sans difficulté) par essai/erreur l’imbrication des STXT() des CHERCHE() et REMPLACER().

Voilà, j’espère que l’exercice inspirera certains d’entre vous, auquel cas je serais ravi d’échanger et de répondre à vos questions.

Bravo à ceux qui m’ont lu jusqu’au bout et d’avance un Grand Merci pour vos pistes et réflexions à venir.
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Cette manipulation d'URLs consiste principalement à trier un listing d’URLs original et à le découper en catégories d'URLs.

Ces catégories sont déterminées par des critères
A la lecture de cet échantillon, on comprend vite que mes catégories d’URLs seront :
- 10-12-17-ans
- 11-18-25-ans
- 17-été
- 18-juillet
- 54-europe
- 6-age
- 8-destination
- 9-6-11-ans

Contrainte supplémentaire, je ne parle pas VBA.
Je souhaite donc pouvoir traiter ce process par l’ensemble des fonctions d’excel.

l'utilisation des fonctions basiques telles que filtres et critères
associée avec couper/coller devrait permettre une approche relativement aisée.
Après maîtrise de la méthode, l'utilisation de l'enregistreur de macro autoriserai l'usage d'un automatisme

Faute de données concrètes et représentatives je ne m'engagerai pas ici dans l'élaboration d'un code clé en main...
 

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 253
Membres
102 837
dernier inscrit
CRETE