Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

A l'aide....

3 réponses
Avatar
Gil Bates
Bonjour,

j'ai une feuille excel comportant par exemple ( pour simplifier ) en
colonnes
Numéro | Nom | Prénom | Service de rattachement | email etc...

où chaque ligne représente une personne classée par ordre alpha, appartenant
à divers services.
La liste des services n'est pas figée, et évolue fréquemment.

Le but est de construire une page HTML par service et par date d'entrée les
membres de ce service et leurs coordonnées.

Il y a bien sûr la possibilité de
lire ligne à ligne le fichier
récupère la "Value" de la cellule comprise dans la colonne service
et de faire un Select Case là dessus pour constuire autant de tableaux
qu'il y a de services
puis ensuite de lire ces tableaux un à un pour générer les pages HTML

inconvénient :
c'est long :
- de nombreux Case dans le Select,
et autant de routines pour lire ces tableaux ensuite et générer les
pages html
- c'est une procédure figée :
si demain une nouvelle entrée est crée dans la colonne service , il
faut rajouter un Case et une procédure de génération de page pour ce nouveau
service.

Comment écrire celà de manière économique ( car les pages HTML sont
construites à l'identiques, seul le titre change ) et en ayant la
possibilité de créer dynamiquement une nouvelle page pour un nouveau service
non prévu ?

Merci de votre aide.

3 réponses

Avatar
Gaenonius
Une possibilité qui ne demande quasiment aucun travail (Excel 2002 mais sans
doute déjà possible avec Excel 2000) :

- filtrer les données par service
- pour chaque service enregistrer la feuille avec la commande Fichier ->
Enregistrer en tant que page Web. Seules les données filtrées (visibles) sont
enregistrées.

--
Gaenonius

Bonjour,

j'ai une feuille excel comportant par exemple ( pour simplifier ) en
colonnes
Numéro | Nom | Prénom | Service de rattachement | email etc...

où chaque ligne représente une personne classée par ordre alpha, appartenant
à divers services.
La liste des services n'est pas figée, et évolue fréquemment.

Le but est de construire une page HTML par service et par date d'entrée les
membres de ce service et leurs coordonnées.

Il y a bien sûr la possibilité de
lire ligne à ligne le fichier
récupère la "Value" de la cellule comprise dans la colonne service
et de faire un Select Case là dessus pour constuire autant de tableaux
qu'il y a de services
puis ensuite de lire ces tableaux un à un pour générer les pages HTML

inconvénient :
c'est long :
- de nombreux Case dans le Select,
et autant de routines pour lire ces tableaux ensuite et générer les
pages html
- c'est une procédure figée :
si demain une nouvelle entrée est crée dans la colonne service , il
faut rajouter un Case et une procédure de génération de page pour ce nouveau
service.

Comment écrire celà de manière économique ( car les pages HTML sont
construites à l'identiques, seul le titre change ) et en ayant la
possibilité de créer dynamiquement une nouvelle page pour un nouveau service
non prévu ?

Merci de votre aide.












Avatar
Gil Bates
Merci,

mais malheureusement
il s'agit d'excel 97 ( et oui le monde du travail est ingrat.. )
et les pages web bien qu'étant toutes les mêmes
obéissent à une certaine forme avec insertion de logo etc.. qui fait
qu'elles doivent être écrite par programme
( mais là n'est pas la complexité ).

La génération doit être automatisée par simple lancement du fichier Excel
( procédure en Auto_Open ) et complètement en macro, car confiée à une
personne connaissant peu excel.

La difficulté, pour moi, réside dans la génération et la lecture des
tableaux en un minimum de boucles de façon dynamique par rapport à la
possibilité de création de nouveau service.


"Gaenonius" a écrit dans le message de
news:
Une possibilité qui ne demande quasiment aucun travail (Excel 2002 mais
sans

doute déjà possible avec Excel 2000) :

- filtrer les données par service
- pour chaque service enregistrer la feuille avec la commande Fichier ->
Enregistrer en tant que page Web. Seules les données filtrées (visibles)
sont

enregistrées.



Avatar
Gaenonius
Gros travail ! Je pense quand même que ton salut peut venir d'un filtrage des
données, filtre élaboré du coup.
Une méthode possible :
1- récupérer la liste sans doublons des services existants
Tu peux pour cela utiliser une collection ou un tableau en "scannant" la colonne
des services.
2- boucler sur les éléments de la collection pour extraire de la liste les
données correspondant à chaque service.
Là tu peux utiliser un filtre élaboré avec extraction des résultats dans une
autre feuille et mise en forme en html.

Il existe des exemples de fonction toutes faites pour la partie 1 (dans les
archives de ce groupe sur google ou sur des sites comme excelabo).
Pour la partie 2, l'enregistreur de macro peut donner un bon point de départ
pour coder l'utilisation du filtre élaboré (sinon, les archives ou les sites
habituels pourront te fournir du code à adapter).

--
Gaenonius

Merci,

mais malheureusement
il s'agit d'excel 97 ( et oui le monde du travail est ingrat.. )
et les pages web bien qu'étant toutes les mêmes
obéissent à une certaine forme avec insertion de logo etc.. qui fait
qu'elles doivent être écrite par programme
( mais là n'est pas la complexité ).

La génération doit être automatisée par simple lancement du fichier Excel
( procédure en Auto_Open ) et complètement en macro, car confiée à une
personne connaissant peu excel.

La difficulté, pour moi, réside dans la génération et la lecture des
tableaux en un minimum de boucles de façon dynamique par rapport à la
possibilité de création de nouveau service.


"Gaenonius" a écrit dans le message de
news:

Une possibilité qui ne demande quasiment aucun travail (Excel 2002 mais


sans

doute déjà possible avec Excel 2000) :

- filtrer les données par service
- pour chaque service enregistrer la feuille avec la commande Fichier ->
Enregistrer en tant que page Web. Seules les données filtrées (visibles)


sont

enregistrées.