IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[iCalendar] Export agenda caractères spéciaux


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 26
    Points : 12
    Points
    12
    Par défaut [iCalendar] Export agenda caractères spéciaux
    Bonjour à tous,

    J'ai créé une macro pour exporter automatiquement des tableaux d'agendas d'un document Excel en agendas individuels au format iCalendar (*.ics), pour y avoir accès à partir d'autres sources qu'Excel et pour pouvoir les partager facilement. Je me suis initialement basé sur ce code, également rappelé dans une discussion de notre forum, en l'adaptant au fur et à mesure à mes problèmes.

    Tout fonctionne bien, comme la création des fichiers et des répertoires, prise en compte des rdv, des horaires, des commentaires des cellules quand il y en a, sauf la prise en compte des accents !

    Avant cette macro, j'exportais uniquement mon agenda de ce tableau Excel vers mon calendrier Outlook via une macro perso, et ensuite à partir d'Outlook j'exportais cet agenda vers le format *.ics. Je n'avais aucun problème d'accent, alors je compare les deux fichiers *.ics pour comprendre la différence entre le fichier *.ics créé manuellement par ma macro et le fichier *.ics généré par l'export Outlook. Mais je ne vois pas d'où peut venir cette non prise en compte des caractères spéciaux...

    Voici deux événements identiques, le premier généré par ma macro (simple) et le deuxième par Outlook (avec toutes les petites touches MS) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    BEGIN:VEVENT
    SUMMARY;LANGUAGE=fr:Bs
    LOCATION:CE Lyon
    DESCRIPTION:Quart initial : Ne\n\nCommentaire du roulement : NEVES Julien:\nSéminaire nouveaux arrivants
    DTSTART:20190307T080000
    DTEND:20190307T170000
    END:VEVENT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    BEGIN:VEVENT
    CLASS:PUBLIC
    CREATED:20190215T025803Z
    DESCRIPTION:NEVES Julien:\nSéminaire nouveaux arrivants\n
    DTEND;TZID="Romance Standard Time":20190307T173000
    DTSTAMP:20190215T025829Z
    DTSTART;TZID="Romance Standard Time":20190307T083000
    LAST-MODIFIED:20190215T025803Z
    LOCATION:Dispatching
    PRIORITY:5
    SEQUENCE:0
    SUMMARY;LANGUAGE=fr:Bs
    TRANSP:OPAQUE
    UID:040000008200E00074C5B7101A82E00800000000506B66A6E2C4D401000000000000000
    	01000000058983B4B1BB6474FA1BF9572B2938238
    X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
    	N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve
    	rsion rmj.rmm.rup.rpr">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted 
    	from text/rtf format -->\n\n<P><FONT FACE="Calibri">NEVES Julien:</FONT>\
    	n\n<BR><FONT FACE="Calibri">Séminaire nouveaux arrivants</FONT>\n</P>\n\n
    	</BODY>\n</HTML>
    X-MICROSOFT-CDO-BUSYSTATUS:BUSY
    X-MICROSOFT-CDO-IMPORTANCE:1
    X-MICROSOFT-DISALLOW-COUNTER:FALSE
    X-MS-OLK-AUTOFILLLOCATION:FALSE
    X-MS-OLK-AUTOSTARTCHECK:FALSE
    X-MS-OLK-CONFTYPE:0
    END:VEVENT

    Serait-ce cette ligne que je n'ai pas générée mais qui se trouve dans l'export via Outlook : "X-ALT-DESC;FMTTYPE=text/html: [...]" ?

    Merci pour votre aide !

    (Je ne savais pas trop où poster cette demande, il ne s'agit pas vraiment d'Excel puisque c'est le format iCalendar... mais le problème vient peut-être d'Excel )

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    Je m'auto-réponds, car j'ai longtemps cherché dans mon code, en pensant avoir oublié une ligne qui permettait d'écrire avec les accents, mais finalement c'est bien plus complexe.

    Lorsque je passais par ma macro export Excel->Outlook, puis un export manuel Outlook->ICS, ce dernier créé des fichiers en encodage UTF-8.
    Lorsque je passe par ma macro Excel->création de fichiers ICS, les fichiers sont en ANSI. Donc les accents sont bien dedans, mais lorsque j'importe le fichier dans un calendrier Outlook ou Gmail, ils disparaissent car il faut qu'il soit enregistré en UTF-8 (sans BOM).

    Et là... ça devient plus compliqué !!

    Je vais creuser, il y a quelques discussions ici à ce propos, mais peu développées donc je vais continuer à chercher.

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Si ton format de calendrier est un format texte, tu peux essayer avec le bloc-notes de Windows s'il ne peut pas faire quelque chose pour toi. Dans Enregistrer Sous… Bouton Encodage

    Nom : encodage.jpg
Affichages : 803
Taille : 79,8 Ko

    Sinon, VB.net (ou même C#) peut lire et écrire des fichiers textes en spécifiant l'encodage à utiliser et ilo supporte ANSI, UTF8, UTF16 et d'autres. Et Visual Studio Community est gratuit.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 26
    Points : 12
    Points
    12
    Par défaut
    C'est effectivement du format texte, j'ai pu remarqué cette différence d'encodage lorsque j'ai ouvert un des fichiers avec Notepad++. On peut choisir un nouvel encodage et enregistrer le fichier mais c'est manuel... Il y a 40 personnes -> 40 agendas par semaine qui sont créés. J'irai certainement fouiller dans VB.net ou Visual Studio Community pour rendre cette manip' automatique alors, merci !

    Des solutions existeraient sous Excel en utilisant du "steam", mais c'est vraiment pas quelque chose de natif et dans mon cas c'était assez long à adapter (pour un résultat trop incertain ).

    A noter que l'idée est que cette manip' d'export Excel->iCalendar soit facilement réalisable par tous, même les plus novices. Actuellement ils ouvrent un classeur Excel, ils cliquent sur le gros pushbutton et c'est fini. J'avais pensé à faire un exécutable mais à priori il faut VB.net pour ça, j'en profiterai peut-être pour mettre les mains dans la création d’exécutables.

Discussions similaires

  1. [MySQL] Export base de données et caractères spéciaux
    Par opeo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2018, 15h04
  2. Export Excel caractères spéciaux
    Par Allegro dans le forum Langage
    Réponses: 6
    Dernier message: 17/02/2013, 17h15
  3. [Encodage] Exporter un CSV avec caractères spéciaux pour Excel
    Par gwinyam dans le forum Langage
    Réponses: 10
    Dernier message: 22/02/2011, 11h44
  4. Réponses: 5
    Dernier message: 05/05/2010, 13h48
  5. Caractères Spéciaux à exporter dans Word
    Par uskiki85 dans le forum Access
    Réponses: 1
    Dernier message: 04/04/2007, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo