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 :

Split obtenir le bon format de chaque élement?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Par défaut Split obtenir le bon format de chaque élement?
    Bonjour,

    Est il possible lors du split de la string u() d’obtenir directement chaque élément au bon format à savoir, string, date, double? j’ai essayé par exemple de créer un (Private) Type mais il n’est pas accepté par VBA...j’ai aussi remplacé les . par des , dans u() mais non ca ne veut toujours pas.
    NB : En faisant élément par élément pour attribuer le format cela marche bien, c’est juste un peu plus long.

    Voici la string u(), le séparateur est chr(9), en plus de la température en élement string, il y a la date en élément date, puis 4 éléments: la température le matin, midi et soir et un indice à mettre en format double tous les 4
    : u(0) : "Temperature 02/01/18 18.27 21.52 32.21 932" : String

    Type VA1
    Vtemp As String
    Vdat As Date
    Vmat As Double
    Vmidi As Double
    Vsoir As Double
    Vindi As Double
    End Type
    Dim TabVA1 As VA1

    VBA refuse cette expression en indiquant une erreur sur le Type et sa définition par user
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      TabVA1 = Split(u(0)), Chr(9))
    donc fait cela en attentant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VA1 = Split(u(0)), Chr(9))
    mais VA1 n'est pas du tout reconnu comme le Type VA1 défini dans Type VA1!!!
    '- : VA1 : : Variant/String(0 to 5)
    ' : VA1(0) : "Temperature" : String
    ' : VA1(1) : "02/01/18" : String : ici il faudrait date
    ' : VA1(2) : "18.27" : String : ici il faudrait double...et idem pour les éléments restants

    est aussi refusé
    donc retraitement individuel de chaque élément de VA1...pour obtenir le format souhaité


    Merci de votre aide...

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    VA1 est une structure (un type personnalisé)
    défini TabVA1 comme étant de type VA1
    Le contenu de TabVA1 ne peut dans ces conditions qu'être composé des éléments suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TabVA1.Vtemp
    TabVA1.Vdat
    ...
    TabVBA.Vindi
    et ne peut être tant lu qu'écrit ainsi (élément par élément).
    Il s'agit là de la construction et vocation mêmes d'une structure (une variable de type personnalisé)
    Il t'est bien entendu toujours possible d' "éclater" (par Split) une chaîne de caractères et d'en affecter les sous-chaînes aux éléments de la structure, mais il te faudra dans ces conditions en convertir chaque sous-chaîne en type de l'élément correspondant de la structure.
    Les conversions peuvent se faire via les fonctions habituelles de conversion (Cdate, Csng, Cdbl, etc ...) à consulter dans ton aide interne VBA

  3. #3
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour (coucou Jacques ),

    Pour les types personnalisés voir ici :
    http://fauconnier.developpez.com/art...lasses/#LIII-B

    Edit : là j'ai donné le lien direct, mais il est conseillé de tout lire depuis le début …
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  4. #4
    Membre éclairé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Septembre 2013
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 411
    Par défaut re
    Bonjour,

    Ok Unparia c'est ce que je fais actuellement...Merci.
    Ok pour le lien RuyAutoditacte à lire...

    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Doxygen : bon format
    Par lionheart33806 dans le forum Zend
    Réponses: 9
    Dernier message: 18/10/2008, 18h54
  2. La date ne s'affiche pas sous le bon format
    Par Subkill dans le forum IHM
    Réponses: 4
    Dernier message: 21/03/2007, 18h06
  3. Afficher le jour d'aujourd'hui sous le bon format ?
    Par fabiofabio dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/11/2006, 10h56
  4. [FPDI] Détecter le format de chaque page pdf importée
    Par Alain15 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 13/07/2006, 09h41
  5. Déterminer le bon format d’une chaine de cartactère
    Par SchpatziBreizh dans le forum Langage
    Réponses: 8
    Dernier message: 05/08/2005, 08h17

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