Forums XLPages

Tous les messages (Nutella)

Générer un fichier xml via une macro Excel
#1
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 26-05-2017 18h42

Bonjour,

 

J'ai un fichier données au format Excel. Je souhaite transformer les données dans un fichier xml automatiquement via une macro Excel.

 

Voici le squelette du fichier xml:

<?xml version="1.0" standalone="yes"?>
<List xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/List.xsd">
  <Info>
    <Publish_Date>26/05/2017</Publish_Date>
    <Record_Count>1</Record_Count>
  </Info>
  <Ident>
    <firstName>toto01</firstName>
    <lastName>Dupont01</lastName>
    <title>ingénieur</title>
    <sdnType>Individual</sdnType>
    <nationalityList>
      <nationality>
        <country>France</country>
      </nationality>
    </nationalityList>
    <dateOfBirthList>
      <dateOfBirthItem>
        <dateOfBirth>01 Jul 1990</dateOfBirth>
      </dateOfBirthItem>
    </dateOfBirthList>
    <placeOfBirthList>
      <placeOfBirthItem>
        <placeOfBirth>Paris France</placeOfBirth>
      </placeOfBirthItem>
    </placeOfBirthList>
  </Ident>
</List>
 

En pièce jointe le fichier Excel. L'entete du fichier ne change pas.

 

Merci de votre aide. Je n'ai pas une idée comment le mettre en place.

 

Merci beaucoup !

Pièce jointe:
xls test.xls   [ Taille: 27.50 Ko - Téléchargements: 484 ]
Hors Ligne
Rapport   Haut 

Macro VBA permettant de récupérer le contenu des mails
#2
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 26-10-2012 18h48
Bonjour forum,

Je souhaiterai créer une macro VBA permettant de récupérer le contenu d'une dizaine de mails depuis outlook.

SVP, avez-vous une idée ?

Merci d'avance !

Hors Ligne
Rapport   Haut 

Re: Tri colonne
#3
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 01-10-2012 09h49
Bonsoir Didier, le forum,

Merci beaucoup pour tes réponses précieuses.
Merci aux internautes.

Cordialement,

Nutella.
Hors Ligne
Rapport   Haut 

Re: Tri colonne
#4
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 28-09-2012 12h52

Merci à vous les réponses données par Didier fonctionne très bien. Merci beaucoup Didier et à tous le forum.

J'aimerai quand même aller plus loin dans le code :

Code Origine
 
Sub Traitement2()
Recopie des lignes 1 à 5 en lignes 6 à 10
    With Sheets("Feuil1")
        .Rows("1:5").Copy Destination:=.Rows("6:10")
    End With
End Sub

Code à Améliorer

Sub Traitement2()

       Dim Ligne As Long
        Dim LigneMax As Long                  
       i = 1

      With Sheets("Feuil1")

      Recopie = Application.InputBox("Saisir le nombre de fois à       recopier", Type:=1)
         If Recopie = False Or Recopie < 0 Then Exit Sub

        LigneMax = .Cells(.Rows.Count, .Rows.Count).End(xlUp).Row
        .Rows("Ligne : LigneMax").Copy Destination:=.Rows("LigneMax+i:.Rows.Count+1 ")
      End With
End Sub


Ma nouvelle question étant, je souhaiterai améliorer le code sans mettre les numéro de ligne en dur.
 
En fait, j'ai défini deux variables. la variable Ligne correspond à la deuxieme ligne de la feuille excel et LigneMax correspond à la dernière ligne de la feuille excel contenant les données.

Et je veux que le recopie commence à partir de ligneMax +1 et ainsi de suite.
La première ligne du tableau n'est pas à recopier car c'est la ligne d'entête.

Dans l'attente d'une solution merci d'avance à vous tous!


Hors Ligne
Rapport   Haut 

Re: Tri colonne
#5
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 25-09-2012 13h02
Bonjour à tous,

Oui Jean-Marc, je vais revérifier voir les eventuels clocages.

Pour ce qui est de ma nouvelle demande, je veux indinquer la macro le nombre de fois à recopier les x lignes contenant des données dans la feuille d'excel sans lui préciser de tel ligne à tel ligne.
Non, je ne veux pas de décalage de ligne entre chaque recopie.
Oui mon tableau à une ligne d'entête, et ne doit pas être recopier.Elle doit rester intact.
En plus, je veux placer la macro dans la feuille 1 et les données à recopier se font sur la feuille2 du même fichier excel.

Merci à didier, Jean-Marie et à tous !
Hors Ligne
Rapport   Haut 

Re: Tri colonne
#6
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 25-09-2012 00h18
Bonsoir,

Merci pour ta réponse. le traitement 1 ne marche pas.
Le traitement 2 marche bien, d'ou j'aimerai l'améliorer. comment peut-on dupliquer les données des lignes sans mettre les numéros  des lignes en dur.
exemple dans le traitement 2, les lignes 1 à 5 sont en dur, est-il possible que les lignes à dupliquer soient dynamiques et il le duplique automatiquement ?
Le fichier lit automatiquement les lignes contenant des données et le duplique le nombre de fois que l'on souhaite.
Merci d'avance et Bonne nuit !
Hors Ligne
Rapport   Haut 

Tri colonne
#7
Débutant XLPages

Inscription: 24/09/2012

Messages: 7

Version Excel utilisée:
2003
Posté le : 24-09-2012 16h41
Bonjour à tous,

Je suis novice dans la programmation des macros Excel. J'ai deux questions à poser s'il vous plait.

Première question :

la mise en place d'une macro Execel permettant de parcourir une colonne (exemple colonne A Feuil 1) puis de comparer le contenu des cellules de cette même colonne par une variable ayant 5 caractères. Si elle trouve une cellule ayant 5 caratères, elle remplace  cette valeur par la valeur provenant de la colonne A feuil 2 meme numéro de ligne.
J'ai fait le script mais il ne marche pas je ne sais pas le pourquoi.
Voici le script :

sub Tri()

Dim Chaine As String * 5
i = 0
Do
   i = i + 1
   If Len(Cells(A & i) = Chaine) Then
   Range("A" & i).Select
   Selection.Copy
   ActiveSheet.Paste
      Else
      End If
      Loop While Cells(K & i) <> "Chaine"
      End Sub

Deuxième question:


Je souhaite mettre en place dans la même macro un duplicateur des les lignes et leurs comtenu feuille.
Exemple :
je veux dupliquer le contenu de la ligne 1 à ligne 5 sur la ligne 6 à 10 de la même feuille Excel.

Merci d'avance !
Hors Ligne
Rapport   Haut