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

JavaScript Discussion :

Création d un HTA plus JavaScript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Points : 67
    Points
    67
    Par défaut Création d un HTA plus JavaScript
    Bonjour a tous,

    J ai un gros fichier excel qui traite des données logistiques. Pour rendre la lecture plus facile et dans le but d apprendre, je me suis lancé dans la création d une HTA. Je voudrais donc que l utilisateur sélectionne une référence et dans une table HTML avoir les données de celle ci.
    J 'ai essaye pas mal de chose mais je ne trouve plus rien sur les forum ou quoi que ce soit. Pouvez vous m aider ?

    Par avance merci de votre aide !!

    Voici mon code :

    Code HTML : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <!doctype html>
    <html>
      <head>
        <title>Gestion des donnees logistiques</title><HTA:APPLICATION ATTRIBUTX="" ATTRIBUTY="">
    	<HTA:APPLICATION ICON = "safran.jpg">
    	<HTA:SHOWINTASKBAR="Yes">
    	<BODY bgcolor="Blue">
        <link rel="stylesheet" href="style.css" />
    	<img src="safran.jpg" alt="Logo du site" id="logo">
    </head>
    	<body>
    	<h1> Outils de gestion des stocks </h1>
    <br><br>	
    <p>
    <nav>
    	<ul id ="menu">
    		<li id = "Analyse des ecarts">
    		<a href="Gestion stock.hta" title="lien vers les analyses d'écarts"> <width="111" height="28">Analyse des ecarts</a>
    		</li>
    		<li id = "Entrees">
    		<a href="new 2.html" title="lien vers les analyses Entrées"> <width="111" height="28">Entrees</a>
    		</li>
    		<li id = "Sorties">
    		<a href="new 3.html" title="lien vers les analyses Entrées"> <width="111" height="28">Sorties</a>
    		</li>
    		<li id = "Analyse des Consomations">
    		<a href="new 4.html" title="lien vers les analyses Entrées"> <width="111" height="28">Analyse des Consomations</a>
    		</li>
    	</ul>
    </nav>
    	</p>
    <br><br><br>
    <p id = "Barre de test" style = "text-decoration:underline">
        Veuillez selectionner des filtres :    <br>
     
     <form > Reference :
                <label for="recherche-texte"><input id="texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    </form>
    <form > Numero de lot :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    </form>
    <form > Numero de semaine :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
     
    </form>
    <button id="button1" onclick="ImportFromXLS_Direct()">
      Importer les donnees
      <script LANGUAGE=javascript>
     
      function ImportFromXLS_Direct(Ref) {
       var Line = 7;
       var Ref = document.getElementById("texte").value;
       var Path_file = "D:/Users/s580385/Desktop/HTML/Gestion donnees stock.xlsm";
       var oExcel, Row, CellA, CellB, CellC, CellD, CellE;
     
        // Lancement de EXCEL
        oExcel = new ActiveXObject('Excel.Application');
        oExcel.WorkBooks.Open(Path_file);
     
        // Pour rendre EXCEL visible sinon supprimer la ligne
        oExcel.Visible = false;
     
        // Cellule(lignes, colonnes)
     
      for ( var i = 0 ; i<6533 ; i++) {
    	 var Ref1 = oExcel.Sheets(1).cells(1, Line + i).value;
    	 //Alert ('Ref1');
    		if  (Ref1 == Ref ){
     
    		Alert (Line + i);
    		//var ligne = document.getElementById("tableau").insertRow(1);
    		//var colonne1 = ligne.insertCell(0);
    		//colonne1.innerHTML += oExcel.ActiveSheet.cells(Line + i, 1).value;
    		j=j+1
    		}
      }
     
       Line +=7;
     
         //fermeture de EXCEL sinon supprimer les deux lignes
        oExcel.WorkBooks.Close();
        oExcel.Quit();
    	oExcel.Visible = false;
    }
       </script>
    </button>
    <table id = "tableau">
    		<tr>
    			<th>Reference</th>
    			<th>Quantité</th>
    			<th>Jour</th>
    			<th>Mois</th>
    			<th>Année</th>
    		</tr>
        </table>
     
     
    </head>
     
     
    </BODY>
    </HTML>

  2. #2
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Tu peux faire comme ça.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    <!doctype html>
    <html>
      <head>
        <title>Gestion des donnees logistiques</title>
     <HTA:APPLICATION ATTRIBUTX="" ATTRIBUTY="">
     <HTA:APPLICATION ICON = "safran.jpg">
        <link rel="stylesheet" href="style.css" />
     <img src="safran.jpg" alt="Logo du site" id="logo">
     
    <script LANGUAGE=javascript>
    function ImportFromXLS_Direct(Ref) 
    {
     var oExcel, Row, nRow, CellA, CellB, CellC, CellD, CellE, j, maxRows;
     var Line       = 7;
     var table      = document.getElementById("tableau");
     var Ref        = document.getElementById("texte").value;
     //var Path_file = "D:/Users/s580385/Desktop/HTML/Gestion donnees stock.xlsm";
     var Path_file = "C:/temp/toto.xlsx";
     
     
        // Lancement de EXCEL
        oExcel = new ActiveXObject('Excel.Application.16');
        oExcel.WorkBooks.Open(Path_file);
     
        // Pour rendre EXCEL visible sinon supprimer la ligne
        oExcel.Visible = false;
     
        // Cellule(lignes, colonnes)
     var currSheet = oExcel.Sheets(1);
     
     // Suppression des ligne du tableau - hormis les entêtes
     var k = table.rows.length;
     if (k>1) 
     {
      for(l=k;l>1;l--) 
      {
       table.deleteRow(l-1); 
      }
     }
     
     //maxRows = 6533; 
     maxRows = 200; 
     for ( var i = 0 ; i<maxRows ; i++) 
     {
      pct      = (((Line + i) / maxRows) * 100);
     
      var Ref1 = currSheet.cells( Line + i, 1).value;
      if  (Ref1 == Ref )
      {
       nRow  = table.rows.length;
       row   = table.insertRow(nRow);
     
       CellA = row.insertCell(0);
       CellB = row.insertCell(1);
       CellC = row.insertCell(2);
       CellD = row.insertCell(3);
       CellE = row.insertCell(4);
     
       CellA.innerHTML = Ref1;
       CellB.innerHTML = currSheet.cells( Line + i, 2).value;
       CellC.innerHTML = currSheet.cells( Line + i, 3).value;
       CellD.innerHTML = currSheet.cells( Line + i, 4).value;
       CellE.innerHTML = currSheet.cells( Line + i, 5).value;
       j=j+1;
      }
     }
     Line +=7;
     
        //fermeture de EXCEL sinon supprimer les deux lignes
        oExcel.WorkBooks.Close();
        oExcel.Quit();
     oExcel.Visible = false;
    }
       </script>
     
     
    </head>
    <BODY bgcolor="green">
     <h1> Outils de gestion des stocks </h1>
    <br><br> 
    <p>
    <nav>
     <ul id ="menu">
      <li id = "Analyse des ecarts">
      <a href="Gestion stock.hta" title="lien vers les analyses d'écarts" width="111" height="28">Analyse des ecarts</a>
      </li>
      <li id = "Entrees">
      <a href="new 2.html" title="lien vers les analyses Entrées" width="111" height="28">Entrees</a>
      </li>
      <li id = "Sorties">
      <a href="new 3.html" title="lien vers les analyses Entrées" width="111" height="28">Sorties</a>
      </li>
      <li id = "Analyse des Consomations">
      <a href="new 4.html" title="lien vers les analyses Entrées" width="111" height="28">Analyse des Consomations</a>
      </li>
     </ul>
    </nav>
     </p>
    <br><br><br>
    <p id = "Barre de test" style = "text-decoration:underline">
        Veuillez selectionner des filtres :
    </p>
     
    Reference :
                <label for="recherche-texte"><input id="texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    Numero de lot :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    Numero de semaine :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    <button id="button1" onclick="ImportFromXLS_Direct()">
      Importer les donnees
    </button>
    <table id = "tableau">
      <tr>
       <th>Reference</th>
       <th>Quantité</th>
       <th>Jour</th>
       <th>Mois</th>
       <th>Année</th>
      </tr>
        </table>
    </BODY>
    </HTML>
    Fichier Excel : c:\temp\toto.xlsx
    Nom : Capture20170820_002.JPG
Affichages : 774
Taille : 66,3 Ko

    Fichier HTA :

    Nom : Capture20170820_001.JPG
Affichages : 798
Taille : 52,2 Ko

  3. #3
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Avec ADO c'est beaucoup plus rapide mais il faut que le site soit dans les sites de confiance et que la sécurité soit bien paramétrée pour que cela fonctionne.

    Code html : 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    <!DOCTYPE html>
    <html>
      <head>
        <title>Gestion des donnees logistiques</title>
        <link rel="stylesheet" href="style.css" />
     <img src="safran.jpg" alt="Logo du site" id="logo">
     
    <script LANGUAGE=javascript>
    function ImportFromXLS_Direct() 
    {
     //---- Suppression des ligne du tableau - hormis les entêtes
     var table = document.getElementById("tableau");
     var k     = table.rows.length;
     if (k>1) 
     {
      for(l=k;l>1;l--) 
      {
       table.deleteRow(l-1); 
      }
     } 
     //---- Référence
     var Ref = document.getElementById("texte").value;
     //---- Connexion
     var connexion = 'Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";Data Source="C:\\temp\\toto2.xlsx"';
     var conn      = new ActiveXObject('ADODB.Connection');
     conn.open(connexion);
     //---- Commande
     var cmd              = new ActiveXObject('ADODB.Command');
     cmd.ActiveConnection = conn;
     cmd.CommandText      = "select * from [feuil1$] where item='"+Ref+"'";
     cmd.Execute();
     //---- Recordset
     var rs = new ActiveXObject("ADODB.Recordset");
     rs.open(cmd);
     //---- Parcours des données
     rs.MoveFirst();
     while (!rs.EOF) {  
      nRow  = table.rows.length;
      row   = table.insertRow(nRow);
     
      CellA = row.insertCell(0);
      CellB = row.insertCell(1);
      CellC = row.insertCell(2);
      CellD = row.insertCell(3);
      CellE = row.insertCell(4);
     
      CellA.innerHTML = rs.fields(0);
      CellB.innerHTML = rs.fields(1);
      CellC.innerHTML = rs.fields(2);
      CellD.innerHTML = rs.fields(3);
      CellE.innerHTML = rs.fields(4);  
     
      rs.MoveNext();
     }
     rs.close();
     conn.close();
    }
    </script>
    </head>
    <BODY bgcolor="green">
     <h1> Outils de gestion des stocks </h1>
    <br><br> 
    <p>
    <nav>
     <ul id ="menu">
      <li id = "Analyse des ecarts">
      <a href="Gestion stock.hta" title="lien vers les analyses d'écarts" width="111" height="28">Analyse des ecarts</a>
      </li>
      <li id = "Entrees">
      <a href="new 2.html" title="lien vers les analyses Entrées" width="111" height="28">Entrees</a>
      </li>
      <li id = "Sorties">
      <a href="new 3.html" title="lien vers les analyses Entrées" width="111" height="28">Sorties</a>
      </li>
      <li id = "Analyse des Consomations">
      <a href="new 4.html" title="lien vers les analyses Entrées" width="111" height="28">Analyse des Consomations</a>
      </li>
     </ul>
    </nav>
     </p>
    <br><br><br>
    <p id = "Barre de test" style = "text-decoration:underline">
        Veuillez selectionner des filtres :
    </p>
     
    Reference :
                <label for="recherche-texte"><input id="texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    Numero de lot :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    Numero de semaine :
                <label for="recherche-texte"><input id="recherche-texte" name="q" placeholder="reference" value="" title="recherche" type="text" onfocus="if(value=='recherche') this.value='';"></label>
    <br>
    <button id="button1" onclick="ImportFromXLS_Direct()">
      Importer les donnees
    </button>
    <table id = "tableau">
      <tr>
       <th>Reference</th>
       <th>Quantité</th>
       <th>Jour</th>
       <th>Mois</th>
       <th>Année</th>
      </tr>
        </table>
    </BODY>
    </HTML>

    Fichier Excel : c:\temp\toto2.xlsx

    Nom : Capture20170821_003.JPG
Affichages : 730
Taille : 56,8 Ko

    Donne :

    Nom : Capture20170821_004.JPG
Affichages : 737
Taille : 33,9 Ko

  4. #4
    bm
    bm est déconnecté
    Membre confirmé

    Homme Profil pro
    Freelance
    Inscrit en
    Octobre 2002
    Messages
    874
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2002
    Messages : 874
    Points : 556
    Points
    556
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Est ce que des ActiveX Control ou équivalent JS ouvrent des data pour calc de libreoffice ?



    Nb : calc converti au format xlsx
    Mais var Path_file = "/media/... " n'est pas reconu

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/03/2009, 17h39
  2. Création d'un démineur sous Javascript
    Par Madd0x dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/02/2009, 10h55
  3. création d'un cookie en javascript
    Par Estudiante dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2008, 22h03
  4. Création / Chargement de fichiers en javascript
    Par AnneB dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 17/07/2007, 10h38
  5. [JFrame] Création d'une fenetre plus grande que l'ecran
    Par thetoctoc dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 23/09/2004, 11h05

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