création d'un fichier XML avec un fichier sous VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nicolas59

XLDnaute Nouveau
Bonjour à tous et à toutes^^,

Voila, j'ai quelques notions de VBA et d'excel mais aucun sur le langage XML :/.
Ma question est la suivante : Est il possible de créer un fichier avec un langage XML directement d'une page de code VBA ? ou doit on refaire tout le code VBA en le transformant en XML ?
 
Dernière édition:
Re : création d'un fichier XML avec un fichier sous VBA

Je fais mes propres fichiers XML sous VB depuis deux ans. En voici un tout petit exemple fonctionnant avec un diaporama sous Flash. On peut le gérer sous Notepad++, mais c'est aussi facile avec une interface en VB.

Code:
<?xml version="1.0" encoding="utf-8"?>
<gallery>
    <album>
      <albumDescription>Tango</albumDescription>
      <image>
        <path>album_1/photo01.jpg</path>
        <caption>Tango argentin 2007 - Cécila</caption>
      </image>
 	  
      <image>
        <path>album_1/photo02.jpg</path>
        <caption>Tango argentin 2007 - Cécila</caption>
      </image>
 	  
      <image>
        <path>album_1/photo03.jpg</path>
        <caption>Tango argentin 2008 - Aix-les-Bains</caption>
      </image>
	  
    </album>  
</gallery>

Avec un diaporama de 3 photos, Notepad++ suffit, avec un tutoriel de 200 vues avec son, mieux vaut se faire une interface. Que veux-tu faire exactement ?
 
Re : création d'un fichier XML avec un fichier sous VBA

bah en gros je dois créer une interface sous excel sous forme de tableau qui permet de modifier des bits caractéristiques de moteur, d'éléctro-vanne, etc...
En fait chaque moteur par exemple, est commendé par un automate, avec le bit numero 1 qui vaut 0, le moteur tourne dans un sens si ce bit vaut 1, il tourne dans l'autre sens. Pour l'instant dans l'entreprise ou je suis qui est une multinationale, elle a des centaines d'installations d'automatique. Ces automates sont programmés grâce au langage XML qui est directement implanté dans l'automate à l'aide d'un logiciel spécialisé. les gars qui cherche a modifier ces bits perdent du temps a chercher le bon bits qu'ils doivent changer dans quelques milleirs de lignes de programme XML, je dois leur faciliter la tache.

J'espère que j'ai été clair :/
 
Dernière édition:
Re : création d'un fichier XML avec un fichier sous VBA

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="19.01" TargetName="CAT01A" TargetType="Controller" ContainsContext="false" Owner="ROQUETTE, ROQUETTE FRERES" ExportDate="Tue Oct 30 13:43:48 2012" ExportOptions="DecoratedData ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Target" Name="CAT01A" ProcessorType="1756-L61" MajorRev="19" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Thu Jul 10 10:02:13 2008" LastModifiedDate="Tue Oct 30 10:38:24 2012" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent"
SFCLastScan="AutomaticReset" CommPath="BOX_GAUTIER\10.2.52.6\Backplane\0" ProjectSN="16#004b_8dcb" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0">
<RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/>
<Security Code="0"/>
<SafetyInfo/>
<DataTypes>
<DataType Name="ALM2" Family="NoFamily" Class="User">
<Members>
<Member Name="ZZZZZZZZZZALM20" DataType="SINT" Dimension="0" Radix="Decimal" Hidden="true" ExternalAccess="Read/Write"/>
<Member Name="Ack" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZALM20" BitNumber="0" ExternalAccess="Read/Write"/>
<Member Name="Latch1" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZALM20" BitNumber="1" ExternalAccess="Read/Write"/>
<Member Name="DN1" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZALM20" BitNumber="2" ExternalAccess="Read/Write"/>
<Member Name="Latch4" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZALM20" BitNumber="3" ExternalAccess="Read/Write"/>
<Member Name="DN4" DataType="BIT" Dimension="0" Radix="Decimal" Hidden="false" Target="ZZZZZZZZZZALM20" BitNumber="4" ExternalAccess="Read/Write"/>
</Members>
</DataType>
<DataType Name="ALM34" Family="NoFamily" Class="User">

voila mais je vois pas en quoi sa peux aider lol
 
Re : création d'un fichier XML avec un fichier sous VBA

voila mais je vois pas en quoi sa peux aider lol

A part le lol qui n'est pas une balise XML évidente, tu nous a déjà fait comprendre que ton fichier était structuré. Un header et des données. Une fois indenté, ce fichier est plus lisible. Ca donne ceci :

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<RSLogix5000Content SchemaRevision="1.0" SoftwareRevision="19.01" TargetName="CAT01A" TargetType="Controller" ContainsContext="false" Owner="ROQUETTE, ROQUETTE FRERES" ExportDate="Tue Oct 30 13:43:48 2012" ExportOptions="DecoratedData ForceProtectedEncoding AllProjDocTrans">
<Controller Use="Target" Name="CAT01A" ProcessorType="1756-L61" MajorRev="19" MinorRev="11" TimeSlice="20" ShareUnusedTimeSlice="1" ProjectCreationDate="Thu Jul 10 10:02:13 2008" LastModifiedDate="Tue Oct 30 10:38:24 2012" SFCExecutionControl="CurrentActive" SFCRestartPosition="MostRecent"
SFCLastScan="AutomaticReset" CommPath="BOX_GAUTIER\10.2.52.6\Backplane\0" ProjectSN="16#004b_8dcb" MatchProjectToController="false" CanUseRPIFromProducer="false" InhibitAutomaticFirmwareUpdate="0">
<RedundancyInfo Enabled="false" KeepTestEditsOnSwitchOver="false" IOMemoryPadPercentage="90" DataTablePadPercentage="50"/>
<Security Code="0"/>
<SafetyInfo/>

<DataTypes>
	<DataType Name="ALM2" Family="NoFamily" Class="User">
		
		<Members>
			<Member Name="ZZZZZZZZZZALM20" 
				DataType="SINT" 
				Dimension="0" 
				Radix="Decimal" 
				Hidden="true" 
				ExternalAccess="Read/Write"/>
			
			<Member Name="Ack"
				DataType="BIT"
				Dimension="0" 
				Radix="Decimal" 
				Hidden="false" 
				Target="ZZZZZZZZZZALM20" 
				BitNumber="0" 
				ExternalAccess="Read/Write"/>
			
			<Member Name="Latch1"
				DataType="BIT"
				Dimension="0"
				Radix="Decimal"
				Hidden="false"
				Target="ZZZZZZZZZZALM20"
				BitNumber="1" 
				ExternalAccess="Read/Write"/>
			
			<Member Name="DN1"
				DataType="BIT"
				Dimension="0"
				Radix="Decimal"
				Hidden="false"
				Target="ZZZZZZZZZZALM20"
				BitNumber="2"
				ExternalAccess="Read/Write"/>
			
			<Member Name="Latch4"
				DataType="BIT"
				Dimension="0"
				Radix="Decimal"
				Hidden="false"
				Target="ZZZZZZZZZZALM20"
				BitNumber="3" 
				ExternalAccess="Read/Write"/>
			
			<Member Name="DN4"
				DataType="BIT"
				Dimension="0"
				Radix="Decimal"
				Hidden="false"
				Target="ZZZZZZZZZZALM20"
				BitNumber="4"
				ExternalAccess="Read/Write"/>
		</Members>
	</DataType>

...et cela peut se convertir assez facilement sous VBA en fichier CSV, donc en tableau Excel.
J'aurais besoin maintenant du fichier complet pour pouvoir le traiter. S'il est trop gros et si tu n'as pas de serveur pour l'héberger, je te donnerai en message privé mon adresse E-mail.
 
Re : création d'un fichier XML avec un fichier sous VBA

Bah j'ai peur que le fichier ne passe pas^^.

Mais dans toutes ces lignes de codes, il n'y en a beaucoup qui ne m'interresse pas. En effet, voila les ligne de code qui m'interresse pour faire mon tableau :
<Structure DataType="Z6_DIG_IN_TEMP">
<DataValueMember Name="EnableIn" DataType="BOOL" Value="1"/>
<DataValueMember Name="EnableOut" DataType="BOOL" Value="1"/>
<DataValueMember Name="Input_Animation" DataType="BOOL" Value="0"/>
<DataValueMember Name="Authorization_Bypass" DataType="BOOL" Value="0"/>
<DataValueMember Name="Input_Animation_Bypass" DataType="BOOL" Value="0"/>
<DataValueMember Name="Acknoledge_Overlay" DataType="BOOL" Value="0"/>
<DataValueMember Name="fault_memorised" DataType="BOOL" Value="0"/>
<DataValueMember Name="Fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="Acknoledge_Sequence" DataType="BOOL" Value="0"/>
<DataValueMember Name="IA" DataType="BOOL" Value="0"/>
<DataValueMember Name="Ivo" DataType="BOOL" Value="0"/>
<DataValueMember Name="RES" DataType="BOOL" Value="0"/>
<DataValueMember Name="first" DataType="BOOL" Value="0"/>
<DataValueMember Name="Authorization_First" DataType="BOOL" Value="0"/>
<DataValueMember Name="GY_FAULT" DataType="INT" Radix="Decimal" Value="0"/>
<DataValueMember Name="Validation_fault" DataType="BOOL" Value="0"/>
<DataValueMember Name="Timer_fault" DataType="DINT" Radix="Decimal" Value="2"/>
</Structure>


Ce sont ces vlaurs la que je doit mettre sous forme de tableau
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
359
Retour