Bonjour,
Cette discussion date un peu, mais je tente quand même !
Savez vous s'il est possible d'ajouter la gestion du saut de saut de ligne à la macro (transformer un saut fait avec alt+entrée en html)?
Merci !
Bonjour,
Cette discussion date un peu, mais je tente quand même !
Savez vous s'il est possible d'ajouter la gestion du saut de saut de ligne à la macro (transformer un saut fait avec alt+entrée en html)?
Merci !
Bonsoir,
Je ne sais pas si j'ai bien compris, mais tests la balise <br>
Bonjour,
Merci pour votre réponse.
Je précise ma demande :
Est-il possible d'ajouter les balises br ou p automatiquement en lieu et place du retour à la ligne excel (fait avec alt+entrée) ?
J'ai du contenu provenant de word, avec des saut de ligne, du texte en gras etc...
- je souhaite que ce même texte soit dans une même cellule (via un copié collé ça fonctionne sans problème).
- le document excel fera l'objet d'un export en format CSV pour être importé sur un site web
Aujourd'hui mes retours à la ligne disparaissent et le texte est donc à la suite.
Merci par avance.
c'est pas bien expliqué tout ca
d'abords tu a un texte formaté (bold,couleur,souligné,etc...) dans un word
ensuite tu l'e colle dans une cellule :1° question pourquoi une seule cellule
surtout que tu l'exporte en csv :chose inutile puisque 1 seule cellule
ensuite pour le format html il y a la balise "span" qui fait très bien l'affaire dans une balise "TD"; chaque "span" pouvant être afféré a une classe différente même si ils se trouves dans un même "td"
mon avis
export de word vers exel
ligne par ligne
chaque ligne étant découpé par les différences de format de caractère dans une cellule propre
export de la table obtenu en html avec le style : pour ca tu a ma dernière contribution qui te montre comment
en csv les parti seront bien distinctes entre les ";"
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Désolé je vais essayer d'être plus explicite.
Déjà l'objectif est de "récolter" des feuilles excel remplis par différentes personnes, et faire un retraitement automatique sans avoir à tout mettre en forme.
Ces données sont exportées sur un composant d'un CMS de type QCM. Ce composant permet l'importation sur format CSV uniquement.
Afin d'être sûr que le format respecte les règles imposées par le composant, j'ai une feuille de saisie sur laquelle j'ai :
- une cellule pour le titre
- une cellule pour la réponse 1
- une cellule pour la réponse 2
.. avec 5 réponses
- une cellule avec la correction
Cette première feuille peut comporter jusqu'à 50 questions à la suite, et c'est sur celles-ci que les différentes personnes feront leur saisie.
J'ai ensuite une deuxième feuille qui reprend les contenus de la première feuille à leur bon emplacement
-> Par exemple :
- pour la 1ère question le titre doit aller en C2, la correction en D2, la réponse 1 en H3, réponse 2 en H4, réponse 3 en H5
- pour la 2ème question le titre doit aller en C9, la correction en D9, la réponse 1 en H10, réponse 2 en H11, réponse 3 en H12
etc..
La copie du contenu de la première feuille se faisant automatiquement sur la 2ème feuille, j'ai juste à exporter en CSV pour intégration sur le site.
Mon problème se situe uniquement au niveau de la mise en forme.
Une grosse partie du contenu existe déjà sur word, et du coup il va y avoir beaucoup de copié/collé. Sur la cellule réservée à la correction, il peut y avoir plusieurs lignes.
Ex :
Avec le fonctionnement tel que je l'ai actuellement, je me retrouve sur le site avec :la réponse 1 est fausse car...
la réponse 2 est vraie car...
Je me demande donc s'il est possible de faire ajouter automatiquement les balises de saut de ligne sur une cellule qui comporte des retours à ligne.la réponse 1 est fausse car... la réponse 2 est fausse car...
Est-ce plus compréhensible ?
Merci
je ne comprends pas très bien du fait que le csv ne gèrera pas le saut de ligne ca c'est sur!!
on peut tres bien le gérer le html en testant si split(cellule,chr(10))>0 :ca c'est pour les éventuels br
mais le csv pas possible!!!!!
tu ne pourra donc pas sauver en csv avec les sauts de ligne
a moins de separer le texte par une expression du genre "saute"
au quel cas il te faudra faire un replace(cellule,"saute",chr(10)) l'ors de l'ouverture du csv avec excel
beaucoup de manip pour pas grand chose
un changement de ligne (row) dans excel l'ors de l'importation du QCM
ainsi
on a chaque ligne a sa place et que ce soit en html ou csv ca ressort pareil
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Lorsque j'exporte mon fichier excel en CSV, j'ai un séparateur virgule avec des ""
Donc pas de problème pour enregistrer le code html et l'importer ensuite sur mon site.
Si je comprends bien, c'est le chr(10) qui va reconnaître les retours chariot ?
Comment puis-je faire pour ajouter à ton code la condition :
si la cellule comporte des retours chariots, alors ajouter <br> avant et </br> après ?
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part Txt=replace(txt, chr(10),"<br>")
l'avantage de la balise <br> c'est quelle n'a pas besoins d'être forcement fermée "<br>" a la place des retour chariot et ca suffit
"</br>" pas la peine
attention tout de même dans une cellule si il y a plusieurs lignes c'est par forcement un retour chariot c'est peut être le format ajouter a la ligne en cas de grand texte
et la il va te falloir jouer avec caractère to pixel c'est une autre paires de manches
enfin je persiste a dire que l'importation dans Excel est déjà mauvaise comme ca mais tu fait comme tu veux![]()
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Je vous remercie pour toutes ces précisions.
@patricktoulon
En fait je n'ai pas trouvé de solution plus accessible (qui ne nécessite aucune connaissance technique pour la personne amenée à saisir le texte).
Arès quelques recherches sur la base du code que vous avez indiqué, j'ai également trouvé une solution plus "manuelle" qui consiste à rechercher "010" et replacer par "<br>", ce qui semble aussi fonctionner.
Merci pour votre aide!
Partager