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 :

Problème utilisation de split sous excel VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant de maths
    Inscrit en
    Octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant de maths
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 6
    Par défaut Problème utilisation de split sous excel VBA
    Bonjour,
    J'ai un soucis en programmation VBA excel.
    Je suis enseignant et j'aimerai classer mes élèves dans un tableau excel ayant comme pour première colonne le numéros dans ma liste,deuxième colonne leurs prénom, puis leur age et enfin le lieux d'où ils viennent.

    Tableau final en photo ci-dessous.
    Nom : tableau.png
Affichages : 517
Taille : 4,4 Ko

    Le problème est que toutes ces informations sont dans un fichier .XML


    J'ai réussi à faire mon programme permettant d'aller chercher le fichier .XMLdans mes dossiers mais je bloque sérieusement sur pour sélectionner les données qui m'intéresse dans le fichier .txt.
    Je saisque je dois utiliser split pour fragmenter avec les virgules mais je ne sais pas comment lui dire où commencer et ou finir.
    Ce sont des listes d'environ 30 étudiant à chaque fois.
    Pouvez m'aider,
    Merci
    Classe.txt
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    pourriez tu plutôt nous mettre une version texte de ton fichier XML plutôt qu'une image inexploitable ...?

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant de maths
    Inscrit en
    Octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant de maths
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 6
    Par défaut Ajout fichier TXT
    Ca était rajouté

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    bonjour

    deja c'est un fichier XML bien mal structuré

    les "numero X" sont parfois dans des nodes "name" parfois dans des nodes "groupe"

    la seule option que tu a visiblement c'est de faire les premiers split par "numero" qui semble etre récurrent dans le meme ordre a chaque fois

    ne cherche pas a le faire par les balises

    autant pour moi le fichier semble etre bon et différent de ta capture d'ecran
    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

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant de maths
    Inscrit en
    Octobre 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Enseignant de maths
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 6
    Par défaut
    Oui j'avais essayé des choses qui n'ont pas fonctionnées mais j'ai remisle post à jour.

    Mais je vos pas comment réaliser les trois colonnes avec split :/

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Comment est généré ce fichier XML ...

    il manque des choses est-ce que c'est toi qui les volontairement enlevées ?

    fermeture des balises Scientifique , STMPG , Literraire du genre </Scientifique> ..?

    balises </document> , </kml> à la fin du document ..?

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    si il n'est pas prevu plusieurs personnes dans une balise classe alors comme tes balises sont mal fermées je me suis servi comme je te l'ai dis plus haut des récurences a savoir "Numero,prenom"
    adapte le chemin de ton fichier en rouge
    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
    Sub xmltoexcel()
    Dim laChaine As String, x, fichier As String
    Dim tabfinal, tabnum, tabname
    fichier = "C:\Users\polux\Desktop\Classe.txt"
    x = FreeFile
     Open fichier For Input As #x
          laChaine = Input(LOF(x), #x)
      Close #x
     tabnum = Split(laChaine, "Numero")
      tabname = Split(laChaine, "<prenom>")
    ReDim tabfinal(UBound(tabnum), 4)
    MsgBox UBound(tabnum)
    For i = 1 To UBound(tabnum)
    tabfinal(i - 1, 0) = "Numero" & Split(tabnum(i), "<")(0)
    tabfinal(i - 1, 1) = Split(tabname(i), ",")(0)
    tabfinal(i - 1, 2) = Split(tabname(i), ",")(1)
    tabfinal(i - 1, 3) = Split(Split(tabname(i), ",")(2), "<")(0)
    Next
    Cells(1, 1).Resize(UBound(tabfinal), 4) = tabfinal
    End Sub
    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

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    j'ai ajouté les entete et la matiere
    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
    Sub xmltoexcel()
    Dim laChaine As String, x, fichier As String
    Dim tabfinal, tabnum, tabname
    fichier = "C:\Users\polux\Desktop\Classe.txt"
    x = FreeFile
     Open fichier For Input As #x
          laChaine = Input(LOF(x), #x)
      Close #x
     tabnum = Split(laChaine, "Numero")
      tabname = Split(laChaine, "<prenom>")
    ReDim tabfinal(UBound(tabnum), 5)
    MsgBox UBound(tabnum)
    For i = 1 To UBound(tabnum)
    tabfinal(i - 1, 0) = "Numero" & Split(tabnum(i), "<")(0)
    tabfinal(i - 1, 1) = Split(tabname(i), ",")(0)
    tabfinal(i - 1, 2) = Split(tabname(i), ",")(1)
    tabfinal(i - 1, 3) = Split(Split(tabname(i), ",")(2), "<")(0)
    tabfinal(i - 1, 4) = Replace(Split(Split(tabnum(i), "</Groupe>")(1), ">")(0), "<", "")
    Next
    Cells(1, 1).Resize(1, 5) = Array("NUMERO", "PRENOM", "AGE", "VILLE", "MATIERE")
    Cells(2, 1).Resize(UBound(tabfinal), 5) = tabfinal
    End Sub
    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

Discussions similaires

  1. [XL-2007] Utilisation de WIA et excel VBA sous Seven64
    Par martimic59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/09/2012, 13h33
  2. [XL-2007] Formulaire sous excel/VBA
    Par columbus033 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 22/04/2009, 11h14
  3. masquer une liste déroulante sous Excel/VBA
    Par Krovax dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/08/2008, 15h58
  4. [VBA-E]Execution d'une macro access sous excel VBA
    Par virtualinsanity dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 21/04/2006, 17h27
  5. Utilisation de formule sous excel...
    Par learo dans le forum Excel
    Réponses: 7
    Dernier message: 06/12/2005, 12h02

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