Entree sortie matériels informatique

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Entree sortie matériels informatique

#1

Message par yblis »

Bonjour à tous,

Je suis actuellement en train de faire un petit programme d'entrée sortie de matériels informatique pour me simplifier la vie au boulot.

Le gros soucis, c'est que je n'arrive pas à ajouter des entrées sur un fichier excel existant.

Voici le script:

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version : 3.3.12.0
 Auteur:         djamal B.

 Fonction du Script :
	Petite Gestion de stock Alimenté par un fichier excel :)

#ce ----------------------------------------------------------------------------

; Début du script - Ajouter votre code ci-dessous.
#pragma compile(Icon, C:\Program Files (x86)\AutoIt3\Icons\au3.ico)
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#Region ### START Koda GUI section ### Form=C:\Users\DJABOU\Documents\template AUTOIT\E-S_STOCK.kxf
$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)
$Tab1 = GUICtrlCreateTab(8, 8, 457, 489)

;Onglet ENTREE
$TabSheet1 = GUICtrlCreateTabItem("Entree")
$Label1 = GUICtrlCreateLabel("Entrée de Stock", 160, 48, 143, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$entreenommagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$entreecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$entreenumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$entreeadresseip = GUICtrlCreateInput("", 208, 216, 121, 21)
; liste de matériel
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($entreetypemateriel, "--------------PC DE GESTION--------------")
GUICtrlSetData($entreetypemateriel, "Lenovo R500")
GUICtrlSetData($entreetypemateriel, "Lenovo L512")
GUICtrlSetData($entreetypemateriel, "Lenovo L520")
GUICtrlSetData($entreetypemateriel, "Lenovo L530")
GUICtrlSetData($entreetypemateriel, "Lenovo L540")
GUICtrlSetData($entreetypemateriel, "Lenovo L560")

GUICtrlSetData($entreetypemateriel, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($entreetypemateriel, "MC3000")
GUICtrlSetData($entreetypemateriel, "MC3090")
GUICtrlSetData($entreetypemateriel, "MC3190")
GUICtrlSetData($entreetypemateriel, "MC32N0")
GUICtrlSetData($entreetypemateriel, "Puit 4 positions")

GUICtrlSetData($entreetypemateriel, "--------------IMPRIMANTES--------------")
GUICtrlSetData($entreetypemateriel, "ZEBRA TLP2742")
GUICtrlSetData($entreetypemateriel, "ZEBRA TLP2844")
GUICtrlSetData($entreetypemateriel, "ZEBRA GX420t")
GUICtrlSetData($entreetypemateriel, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($entreetypemateriel, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($entreetypemateriel, "PLAYER HP")
GUICtrlSetData($entreetypemateriel, "PLAYER ELITE DESK")
GUICtrlSetData($entreetypemateriel, "Switch HDMI 4 ports")
GUICtrlSetData($entreetypemateriel, "Switch HDMI 8 ports")
GUICtrlSetData($entreetypemateriel, "BORNE VAD")
GUICtrlSetData($entreetypemateriel, "BORNE VAD ELITE DESK")
GUICtrlSetData($entreetypemateriel, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($entreetypemateriel, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($entreetypemateriel, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($entreetypemateriel, "ROUTEUR SDSL Principal")
GUICtrlSetData($entreetypemateriel, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($entreetypemateriel, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($entreetypemateriel, "SERVEUR VLP M2")
GUICtrlSetData($entreetypemateriel, "SERVEUR VLP M3")
GUICtrlSetData($entreetypemateriel, "SERVEUR VLP M4")
GUICtrlSetData($entreetypemateriel, "SERVEUR VLP M5")
GUICtrlSetData($entreetypemateriel, "UC IBM 543")
GUICtrlSetData($entreetypemateriel, "UC IBM 544")
GUICtrlSetData($entreetypemateriel, "UC IBM 566")
GUICtrlSetData($entreetypemateriel, "UC TOSHIBA E70")
GUICtrlSetData($entreetypemateriel, "TPE i3070")
GUICtrlSetData($entreetypemateriel, "TPE IPP320")
GUICtrlSetData($entreetypemateriel, "Douchette LS2208")
GUICtrlSetData($entreetypemateriel, "Douchette DS9808")
GUICtrlSetData($entreetypemateriel, "Print TG4")
GUICtrlSetData($entreetypemateriel, "Print TMH6000III")
GUICtrlSetData($entreetypemateriel, "Print TMH6000IV")
GUICtrlSetData($entreetypemateriel, "Tiroir caisse")
GUICtrlSetData($entreetypemateriel, "Monnayeur")
GUICtrlSetData($entreetypemateriel, "Câble RJ45")


$entreenumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$entreemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")
$boutonentree = GUICtrlCreateButton("Entrée", 256, 456, 75, 25)
$boutonQuitter = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET SORTIE
$TabSheet2 = GUICtrlCreateTabItem("Sortie")
$Label9 = GUICtrlCreateLabel("Sortie de Stock", 160, 48, 137, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label10 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$sortiecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label11 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label12 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortienumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$sortieadresseip = GUICtrlCreateInput("", 208, 216, 121, 21)
$Label13 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label14 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

; liste de matériel
$sortietypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($sortietypemateriel, "--------------PC DE GESTION--------------")
GUICtrlSetData($sortietypemateriel, "Lenovo R500")
GUICtrlSetData($sortietypemateriel, "Lenovo L512")
GUICtrlSetData($sortietypemateriel, "Lenovo L520")
GUICtrlSetData($sortietypemateriel, "Lenovo L530")
GUICtrlSetData($sortietypemateriel, "Lenovo L540")
GUICtrlSetData($sortietypemateriel, "Lenovo L560")

GUICtrlSetData($sortietypemateriel, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($sortietypemateriel, "MC3000")
GUICtrlSetData($sortietypemateriel, "MC3090")
GUICtrlSetData($sortietypemateriel, "MC3190")
GUICtrlSetData($sortietypemateriel, "MC32N0")
GUICtrlSetData($sortietypemateriel, "Puit 4 positions")

GUICtrlSetData($sortietypemateriel, "--------------IMPRIMANTES--------------")
GUICtrlSetData($sortietypemateriel, "ZEBRA TLP2742")
GUICtrlSetData($sortietypemateriel, "ZEBRA TLP2844")
GUICtrlSetData($sortietypemateriel, "ZEBRA GX420t")
GUICtrlSetData($sortietypemateriel, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($sortietypemateriel, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($sortietypemateriel, "PLAYER HP")
GUICtrlSetData($sortietypemateriel, "PLAYER ELITE DESK")
GUICtrlSetData($sortietypemateriel, "Switch HDMI 4 ports")
GUICtrlSetData($sortietypemateriel, "Switch HDMI 8 ports")
GUICtrlSetData($sortietypemateriel, "BORNE VAD")
GUICtrlSetData($sortietypemateriel, "BORNE VAD ELITE DESK")
GUICtrlSetData($sortietypemateriel, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($sortietypemateriel, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($sortietypemateriel, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($sortietypemateriel, "ROUTEUR SDSL Principal")
GUICtrlSetData($sortietypemateriel, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($sortietypemateriel, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($sortietypemateriel, "SERVEUR VLP M2")
GUICtrlSetData($sortietypemateriel, "SERVEUR VLP M3")
GUICtrlSetData($sortietypemateriel, "SERVEUR VLP M4")
GUICtrlSetData($sortietypemateriel, "SERVEUR VLP M5")
GUICtrlSetData($sortietypemateriel, "UC IBM 543")
GUICtrlSetData($sortietypemateriel, "UC IBM 544")
GUICtrlSetData($sortietypemateriel, "UC IBM 566")
GUICtrlSetData($sortietypemateriel, "UC TOSHIBA E70")
GUICtrlSetData($sortietypemateriel, "TPE i3070")
GUICtrlSetData($sortietypemateriel, "TPE IPP320")
GUICtrlSetData($sortietypemateriel, "Douchette LS2208")
GUICtrlSetData($sortietypemateriel, "Douchette DS9808")
GUICtrlSetData($sortietypemateriel, "Print TG4")
GUICtrlSetData($sortietypemateriel, "Print TMH6000III")
GUICtrlSetData($sortietypemateriel, "Print TMH6000IV")
GUICtrlSetData($sortietypemateriel, "Tiroir caisse")
GUICtrlSetData($sortietypemateriel, "Monnayeur")
GUICtrlSetData($sortietypemateriel, "Câble RJ45")
$sortienumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$Label15 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label16 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")
$boutonsortie = GUICtrlCreateButton("Sortie", 256, 456, 75, 25)
$boutonQuitter1 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET S.A.V.
$TabSheet3 = GUICtrlCreateTabItem("S.A.V.")
$Label17 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savmagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$label122 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 136, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

; liste de matériel
$savtypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 136, 217, 21, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($savtypemateriel, "--------------PC DE GESTION--------------")
GUICtrlSetData($savtypemateriel, "Lenovo R500")
GUICtrlSetData($savtypemateriel, "Lenovo L512")
GUICtrlSetData($savtypemateriel, "Lenovo L520")
GUICtrlSetData($savtypemateriel, "Lenovo L530")
GUICtrlSetData($savtypemateriel, "Lenovo L540")
GUICtrlSetData($savtypemateriel, "Lenovo L560")

GUICtrlSetData($savtypemateriel, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($savtypemateriel, "MC3000")
GUICtrlSetData($savtypemateriel, "MC3090")
GUICtrlSetData($savtypemateriel, "MC3190")
GUICtrlSetData($savtypemateriel, "MC32N0")
GUICtrlSetData($savtypemateriel, "Puit 4 positions")

GUICtrlSetData($savtypemateriel, "--------------IMPRIMANTES--------------")
GUICtrlSetData($savtypemateriel, "ZEBRA TLP2742")
GUICtrlSetData($savtypemateriel, "ZEBRA TLP2844")
GUICtrlSetData($savtypemateriel, "ZEBRA GX420t")
GUICtrlSetData($savtypemateriel, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($savtypemateriel, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($savtypemateriel, "PLAYER HP")
GUICtrlSetData($savtypemateriel, "PLAYER ELITE DESK")
GUICtrlSetData($savtypemateriel, "Switch HDMI 4 ports")
GUICtrlSetData($savtypemateriel, "Switch HDMI 8 ports")
GUICtrlSetData($savtypemateriel, "BORNE VAD")
GUICtrlSetData($savtypemateriel, "BORNE VAD ELITE DESK")
GUICtrlSetData($savtypemateriel, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($savtypemateriel, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($savtypemateriel, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($savtypemateriel, "ROUTEUR SDSL Principal")
GUICtrlSetData($savtypemateriel, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($savtypemateriel, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($savtypemateriel, "SERVEUR VLP M2")
GUICtrlSetData($savtypemateriel, "SERVEUR VLP M3")
GUICtrlSetData($savtypemateriel, "SERVEUR VLP M4")
GUICtrlSetData($savtypemateriel, "SERVEUR VLP M5")
GUICtrlSetData($savtypemateriel, "UC IBM 543")
GUICtrlSetData($savtypemateriel, "UC IBM 544")
GUICtrlSetData($savtypemateriel, "UC IBM 566")
GUICtrlSetData($savtypemateriel, "UC TOSHIBA E70")
GUICtrlSetData($savtypemateriel, "TPE i3070")
GUICtrlSetData($savtypemateriel, "TPE IPP320")
GUICtrlSetData($savtypemateriel, "Douchette LS2208")
GUICtrlSetData($savtypemateriel, "Douchette DS9808")
GUICtrlSetData($savtypemateriel, "Print TG4")
GUICtrlSetData($savtypemateriel, "Print TMH6000III")
GUICtrlSetData($savtypemateriel, "Print TMH6000IV")
GUICtrlSetData($savtypemateriel, "Tiroir caisse")
GUICtrlSetData($savtypemateriel, "Monnayeur")
GUICtrlSetData($savtypemateriel, "Câble RJ45")
$Label19 = GUICtrlCreateLabel("N° de SERIE", 56, 176, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savnumserie = GUICtrlCreateInput("", 208, 176, 217, 21)
$Label20 = GUICtrlCreateLabel("Diagnostique", 56, 216, 98, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savdiag = GUICtrlCreateEdit("", 208, 216, 217, 105, 4)
GUICtrlSetData(-1, "")
$Label21 = GUICtrlCreateLabel("Mise en SAV", 160, 48, 120, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$boutonsav = GUICtrlCreateButton("SAV", 256, 456, 75, 25)
$boutonQuitter2 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET REBUT
$TabSheet4 = GUICtrlCreateTabItem("REBUT")
$Label25 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 96, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$rebuttypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 96, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($rebuttypemateriel, "--------------PC DE GESTION--------------")
GUICtrlSetData($rebuttypemateriel, "Lenovo R500")
GUICtrlSetData($rebuttypemateriel, "Lenovo L512")
GUICtrlSetData($rebuttypemateriel, "Lenovo L520")
GUICtrlSetData($rebuttypemateriel, "Lenovo L530")
GUICtrlSetData($rebuttypemateriel, "Lenovo L540")
GUICtrlSetData($rebuttypemateriel, "Lenovo L560")

GUICtrlSetData($rebuttypemateriel, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($rebuttypemateriel, "MC3000")
GUICtrlSetData($rebuttypemateriel, "MC3090")
GUICtrlSetData($rebuttypemateriel, "MC3190")
GUICtrlSetData($rebuttypemateriel, "MC32N0")
GUICtrlSetData($rebuttypemateriel, "Puit 4 positions")

GUICtrlSetData($rebuttypemateriel, "--------------IMPRIMANTES--------------")
GUICtrlSetData($rebuttypemateriel, "ZEBRA TLP2742")
GUICtrlSetData($rebuttypemateriel, "ZEBRA TLP2844")
GUICtrlSetData($rebuttypemateriel, "ZEBRA GX420t")
GUICtrlSetData($rebuttypemateriel, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($rebuttypemateriel, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($rebuttypemateriel, "PLAYER HP")
GUICtrlSetData($rebuttypemateriel, "PLAYER ELITE DESK")
GUICtrlSetData($rebuttypemateriel, "Switch HDMI 4 ports")
GUICtrlSetData($rebuttypemateriel, "Switch HDMI 8 ports")
GUICtrlSetData($rebuttypemateriel, "BORNE VAD")
GUICtrlSetData($rebuttypemateriel, "BORNE VAD ELITE DESK")
GUICtrlSetData($rebuttypemateriel, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($rebuttypemateriel, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($rebuttypemateriel, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($rebuttypemateriel, "ROUTEUR SDSL Principal")
GUICtrlSetData($rebuttypemateriel, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($rebuttypemateriel, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($rebuttypemateriel, "SERVEUR VLP M2")
GUICtrlSetData($rebuttypemateriel, "SERVEUR VLP M3")
GUICtrlSetData($rebuttypemateriel, "SERVEUR VLP M4")
GUICtrlSetData($rebuttypemateriel, "SERVEUR VLP M5")
GUICtrlSetData($rebuttypemateriel, "UC IBM 543")
GUICtrlSetData($rebuttypemateriel, "UC IBM 544")
GUICtrlSetData($rebuttypemateriel, "UC IBM 566")
GUICtrlSetData($rebuttypemateriel, "UC TOSHIBA E70")
GUICtrlSetData($rebuttypemateriel, "TPE i3070")
GUICtrlSetData($rebuttypemateriel, "TPE IPP320")
GUICtrlSetData($rebuttypemateriel, "Douchette LS2208")
GUICtrlSetData($rebuttypemateriel, "Douchette DS9808")
GUICtrlSetData($rebuttypemateriel, "Print TG4")
GUICtrlSetData($rebuttypemateriel, "Print TMH6000III")
GUICtrlSetData($rebuttypemateriel, "Print TMH6000IV")
GUICtrlSetData($rebuttypemateriel, "Tiroir caisse")
GUICtrlSetData($rebuttypemateriel, "Monnayeur")
GUICtrlSetData($rebuttypemateriel, "Câble RJ45")
$Label26 = GUICtrlCreateLabel("N° de SERIE", 56, 136, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutnumserie = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label27 = GUICtrlCreateLabel("MOTIF", 56, 176, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutmotif = GUICtrlCreateEdit("", 208, 176, 217, 137, 4)
GUICtrlSetData(-1, "")
$Boutonrebut = GUICtrlCreateButton("Rebut", 256, 456, 75, 25)
$BoutonQuitter3 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)
$Label29 = GUICtrlCreateLabel("Mise en REBUT", 144, 48, 144, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")

;ONGLET RECEPTION COMMANDE
$TabSheet5 = GUICtrlCreateTabItem("Réception Commande")
$Label30 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 104, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$receptiontypemateriels = GUICtrlCreateCombo("Choisir un modèle", 208, 104, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($receptiontypemateriels, "--------------PC DE GESTION--------------")
GUICtrlSetData($receptiontypemateriels, "Lenovo R500")
GUICtrlSetData($receptiontypemateriels, "Lenovo L512")
GUICtrlSetData($receptiontypemateriels, "Lenovo L520")
GUICtrlSetData($receptiontypemateriels, "Lenovo L530")
GUICtrlSetData($receptiontypemateriels, "Lenovo L540")
GUICtrlSetData($receptiontypemateriels, "Lenovo L560")

GUICtrlSetData($receptiontypemateriels, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($receptiontypemateriels, "MC3000")
GUICtrlSetData($receptiontypemateriels, "MC3090")
GUICtrlSetData($receptiontypemateriels, "MC3190")
GUICtrlSetData($receptiontypemateriels, "MC32N0")
GUICtrlSetData($receptiontypemateriels, "Puit 4 positions")

GUICtrlSetData($receptiontypemateriels, "--------------IMPRIMANTES--------------")
GUICtrlSetData($receptiontypemateriels, "ZEBRA TLP2742")
GUICtrlSetData($receptiontypemateriels, "ZEBRA TLP2844")
GUICtrlSetData($receptiontypemateriels, "ZEBRA GX420t")
GUICtrlSetData($receptiontypemateriels, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($receptiontypemateriels, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($receptiontypemateriels, "PLAYER HP")
GUICtrlSetData($receptiontypemateriels, "PLAYER ELITE DESK")
GUICtrlSetData($receptiontypemateriels, "Switch HDMI 4 ports")
GUICtrlSetData($receptiontypemateriels, "Switch HDMI 8 ports")
GUICtrlSetData($receptiontypemateriels, "BORNE VAD")
GUICtrlSetData($receptiontypemateriels, "BORNE VAD ELITE DESK")
GUICtrlSetData($receptiontypemateriels, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($receptiontypemateriels, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($receptiontypemateriels, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($receptiontypemateriels, "ROUTEUR SDSL Principal")
GUICtrlSetData($receptiontypemateriels, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($receptiontypemateriels, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($receptiontypemateriels, "SERVEUR VLP M2")
GUICtrlSetData($receptiontypemateriels, "SERVEUR VLP M3")
GUICtrlSetData($receptiontypemateriels, "SERVEUR VLP M4")
GUICtrlSetData($receptiontypemateriels, "SERVEUR VLP M5")
GUICtrlSetData($receptiontypemateriels, "UC IBM 543")
GUICtrlSetData($receptiontypemateriels, "UC IBM 544")
GUICtrlSetData($receptiontypemateriels, "UC IBM 566")
GUICtrlSetData($receptiontypemateriels, "UC TOSHIBA E70")
GUICtrlSetData($receptiontypemateriels, "TPE i3070")
GUICtrlSetData($receptiontypemateriels, "TPE IPP320")
GUICtrlSetData($receptiontypemateriels, "Douchette LS2208")
GUICtrlSetData($receptiontypemateriels, "Douchette DS9808")
GUICtrlSetData($receptiontypemateriels, "Print TG4")
GUICtrlSetData($receptiontypemateriels, "Print TMH6000III")
GUICtrlSetData($receptiontypemateriels, "Print TMH6000IV")
GUICtrlSetData($receptiontypemateriels, "Tiroir caisse")
GUICtrlSetData($receptiontypemateriels, "Monnayeur")
GUICtrlSetData($receptiontypemateriels, "Câble RJ45")
$Label31 = GUICtrlCreateLabel("N° de SERIE", 56, 144, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label32 = GUICtrlCreateLabel("Réception de Commande", 120, 48, 225, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")

;$receptionnumserie = GUICtrlCreateInput("", 208, 144, 217, 21)
$receptionnumserie = GUICtrlCreateEdit("", 208, 144, 217, 280, 4)
GUICtrlSetData(-1, "")
$BoutonQuitter4 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)
$BoutonReception = GUICtrlCreateButton("Entrée", 264, 456, 75, 25)


GUICtrlCreateTabItem("")
$Label28 = GUICtrlCreateLabel("Créé par Djamal B.", 612, 479, 92, 17)
$MonthCal1 = GUICtrlCreateMonthCal("", 472, 32, 229, 164)
$Date1 = GUICtrlCreateDate("", 496, 200, 186, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;~ VARIABLE=========================================================================================================================================================================================================================================================
DIM $EXCELES = ("\\w3khome\Echanges\Informatique\DSI - Exploitation\DSI - Exploitation Magasin\Gestion Matériel\Gestion de Parc\BackOffice\SUIVIS STOCK + SAV.xlsx")
DIM $chrsai = ("christian.saidi@gifi.fr")
DIM $repsource = ("C:\StockExpress\source\")
DIM $sme = ("C:\StockExpress\source\mail-entree.vbs")
DIM $sms = ("C:\StockExpress\source\mail-sortie.vbs")
DIM $reptemp  = ("C:\StockExpress\temporaire")
DIM $tempme = ("C:\StockExpress\temporaire\mail-entree.vbs")
DIM $tempsms = ("C:\StockExpress\temporaire\mail-sortie.vbs")
;~ VARIABLE=========================================================================================================================================================================================================================================================

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
;~ ONGLET ENTREE=========================================================================================================================================================================================================================================================
		Case $boutonentree

; Lecture des variables
$lentreetypemateriel = GUICtrlRead($entreetypemateriel)
$lentreenommagasin = GUICtrlRead ($entreenommagasin)
$lentreecodeclient = GUICtrlRead ($entreecodeclient)
$lentreenumtosh = GUICtrlRead ($entreenumtosh )
$lentreeadresseip = GUICtrlRead ($entreeadresseip)
$lentreenumserie = GUICtrlRead ($entreenumserie)
$lentreemotif = GUICtrlRead ($entreemotif)
$ldate = GUICtrlRead ($Date1)
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempme, "matos", $lentreetypemateriel)
			 _ReplaceStringInFile ($tempme, "nommag", $lentreenommagasin)
			 _ReplaceStringInFile ($tempme, "codeclient", $lentreecodeclient)
			 _ReplaceStringInFile ($tempme, "ntosh", $lentreenumtosh)
			 _ReplaceStringInFile ($tempme, "nadresseip", $lentreeadresseip)
			 _ReplaceStringInFile ($tempme, "nserie", $lentreenumserie)
			 _ReplaceStringInFile ($tempme, "raison", $lentreemotif)
			 _ReplaceStringInFile ($tempme, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mail d'entrée de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-entree.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")
;Modification du fichier entrée sortie stock
;Local $oExcel = O



;FileOpen ( $EXCELES ,0)
		Case $boutonQuitter
			Exit
;~ ONGLET SORTIE=========================================================================================================================================================================================================================================================
		Case $boutonsortie
; Lecture des variables
$lsortietypemateriel = GUICtrlRead($sortietypemateriel)
$lsortiemagasin = GUICtrlRead ($sortiemagasin)
$lsortiecodeclient = GUICtrlRead ($sortiecodeclient)
$lsortienumtosh = GUICtrlRead ($sortienumtosh)
$lsortieadresseip = GUICtrlRead ($sortieadresseip)
$lsortienumserie = GUICtrlRead ($sortienumserie)
$lsortiemotif = GUICtrlRead ($sortiemotif)
$ldate = GUICtrlRead ($Date1)
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempsms, "matos", $lsortietypemateriel)
			 _ReplaceStringInFile ($tempsms, "nommag", $lsortiemagasin)
			 _ReplaceStringInFile ($tempsms, "codeclient", $lsortiecodeclient)
			 _ReplaceStringInFile ($tempsms, "ntosh", $lsortienumtosh)
			 _ReplaceStringInFile ($tempsms, "nadresseip", $lsortieadresseip)
			 _ReplaceStringInFile ($tempsms, "nserie", $lsortienumserie)
			 _ReplaceStringInFile ($tempsms, "raison", $lsortiemotif)
			 _ReplaceStringInFile ($tempsms, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mais de sortie de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-sortie.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")
;Modification du fichier entrée sortie stock
		Case $boutonQuitter1
			Exit
;~ ONGLET SAV============================================================================================================================================================================================================================================================
		Case $boutonsav

		Case $boutonQuitter2
			Exit
;~ ONGLET REBUT==========================================================================================================================================================================================================================================================
		Case $Boutonrebut

		Case $boutonQuitter3
			Exit
;~ ONGLET RECEPTION======================================================================================================================================================================================================================================================
		Case $BoutonReception

		Case $boutonQuitter4
			Exit






	EndSwitch
WEnd
Si quelqu'un pouvait m'aider, je lui en serais extrêmement reconnaissant :D
Je vous remercie par avance :)
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: Entree sortie matériels informatique

#2

Message par TomAijerrie »

Bonjour,

Si tu veux continuer de ton coté, les fonction dont tu vas certainement avoir besoin sont :
(liste complète ici -> https://www.autoitscript.com/autoit3/do ... gement.htm)
_Excel_open..........Pour initialiser l'objet Excel https://www.autoitscript.com/autoit3/do ... l_Open.htm
_Excel_BookOpen....Pour ouvrir un classeur Excel https://www.autoitscript.com/autoit3/do ... okOpen.htm
_Excel_RangeWrite..Pour écrire dans les cellules https://www.autoitscript.com/autoit3/do ... eWrite.htm
_Excel_BookSave.....Pour enregistrer ton travail https://www.autoitscript.com/autoit3/do ... okSave.htm

Si tu veux qu'on t'aide pour ton script, fourni un model de ton fichier excel
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Entree sortie matériels informatique

#3

Message par walkson »

Bonjour,
Vous n'êtes pas dans la bonne rubrique. Ici ce sont les exemples, pas l'aide.
Si un modérateur passe par ici, merci de rectifier le tir.
Autrement en regardant votre script, vous remplissez les combos en répétant les mêmes données, ce qui est inutile. Voici un ptit exemple qui vous simplifirez l'écriture avec 2 méthodes (la votre sous forme de fonction et la mienne)

Code : Tout sélectionner

$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25)
$entreetypemateriel1 = GUICtrlCreateCombo("Choisir un modèle", 208, 290, 217, 25)
$entreetypemateriel2 = GUICtrlCreateCombo("Choisir un modèle", 208, 320, 217, 25)
$data = "aa|bb|cc|dd|ee|ff|gg|hh"
GUICtrlSetData($entreetypemateriel, $data)
GUICtrlSetData($entreetypemateriel1, $data)
setcombo($entreetypemateriel2)
GUISetState()
Do
Until GUIGetMsg() = -3

Func setcombo($handle)
GUICtrlSetData($handle, "--------------PC DE GESTION--------------")
GUICtrlSetData($handle, "Lenovo R500")
GUICtrlSetData($handle, "Lenovo L512")
GUICtrlSetData($handle, "Lenovo L520")
GUICtrlSetData($handle, "Lenovo L530")
GUICtrlSetData($handle, "Lenovo L540")
GUICtrlSetData($handle, "Lenovo L560")

GUICtrlSetData($handle, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($handle, "MC3000")
GUICtrlSetData($handle, "MC3090")
GUICtrlSetData($handle, "MC3190")
GUICtrlSetData($handle, "MC32N0")
GUICtrlSetData($handle, "Puit 4 positions")

GUICtrlSetData($handle, "--------------IMPRIMANTES--------------")
GUICtrlSetData($handle, "ZEBRA TLP2742")
GUICtrlSetData($handle, "ZEBRA TLP2844")
GUICtrlSetData($handle, "ZEBRA GX420t")
GUICtrlSetData($handle, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($handle, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($handle, "PLAYER HP")
GUICtrlSetData($handle, "PLAYER ELITE DESK")
GUICtrlSetData($handle, "Switch HDMI 4 ports")
GUICtrlSetData($handle, "Switch HDMI 8 ports")
GUICtrlSetData($handle, "BORNE VAD")
GUICtrlSetData($handle, "BORNE VAD ELITE DESK")
GUICtrlSetData($handle, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($handle, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($handle, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($handle, "ROUTEUR SDSL Principal")
GUICtrlSetData($handle, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($handle, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($handle, "SERVEUR VLP M2")
GUICtrlSetData($handle, "SERVEUR VLP M3")
GUICtrlSetData($handle, "SERVEUR VLP M4")
GUICtrlSetData($handle, "SERVEUR VLP M5")
GUICtrlSetData($handle, "UC IBM 543")
GUICtrlSetData($handle, "UC IBM 544")
GUICtrlSetData($handle, "UC IBM 566")
GUICtrlSetData($handle, "UC TOSHIBA E70")
GUICtrlSetData($handle, "TPE i3070")
GUICtrlSetData($handle, "TPE IPP320")
GUICtrlSetData($handle, "Douchette LS2208")
GUICtrlSetData($handle, "Douchette DS9808")
GUICtrlSetData($handle, "Print TG4")
GUICtrlSetData($handle, "Print TMH6000III")
GUICtrlSetData($handle, "Print TMH6000IV")
GUICtrlSetData($handle, "Tiroir caisse")
GUICtrlSetData($handle, "Monnayeur")
GUICtrlSetData($handle, "Câble RJ45")
EndFunc

Une petite question, la liste du matériel peut varier ? car dans ce cas, il va y avoir des problèmes !
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Entree sortie matériels informatique

#4

Message par jchd »

Encore un bon sujet d'emploi d'une base de données SQLite ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#5

Message par yblis »

TomAijerrie a écrit :Bonjour,

Si tu veux continuer de ton coté, les fonction dont tu vas certainement avoir besoin sont :
(liste complète ici -> https://www.autoitscript.com/autoit3/do ... gement.htm)
_Excel_open..........Pour initialiser l'objet Excel https://www.autoitscript.com/autoit3/do ... l_Open.htm
_Excel_BookOpen....Pour ouvrir un classeur Excel https://www.autoitscript.com/autoit3/do ... okOpen.htm
_Excel_RangeWrite..Pour écrire dans les cellules https://www.autoitscript.com/autoit3/do ... eWrite.htm
_Excel_BookSave.....Pour enregistrer ton travail https://www.autoitscript.com/autoit3/do ... okSave.htm

Si tu veux qu'on t'aide pour ton script, fourni un model de ton fichier excel
Salut et merci de ta réponse,

ça a l'air un peu chaud, mais je vais creuser le sujet.

je transmets tout de même le fichier excel à alimenter partagé sur "onedrive.

https://onedrive.live.com/redir?resid=6 ... ile%2cxlsx
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#6

Message par yblis »

walkson a écrit :Bonjour,
Vous n'êtes pas dans la bonne rubrique. Ici ce sont les exemples, pas l'aide.
Si un modérateur passe par ici, merci de rectifier le tir.
Autrement en regardant votre script, vous remplissez les combos en répétant les mêmes données, ce qui est inutile. Voici un ptit exemple qui vous simplifirez l'écriture avec 2 méthodes (la votre sous forme de fonction et la mienne)

Code : Tout sélectionner

$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25)
$entreetypemateriel1 = GUICtrlCreateCombo("Choisir un modèle", 208, 290, 217, 25)
$entreetypemateriel2 = GUICtrlCreateCombo("Choisir un modèle", 208, 320, 217, 25)
$data = "aa|bb|cc|dd|ee|ff|gg|hh"
GUICtrlSetData($entreetypemateriel, $data)
GUICtrlSetData($entreetypemateriel1, $data)
setcombo($entreetypemateriel2)
GUISetState()
Do
Until GUIGetMsg() = -3

Func setcombo($handle)
GUICtrlSetData($handle, "--------------PC DE GESTION--------------")
GUICtrlSetData($handle, "Lenovo R500")
GUICtrlSetData($handle, "Lenovo L512")
GUICtrlSetData($handle, "Lenovo L520")
GUICtrlSetData($handle, "Lenovo L530")
GUICtrlSetData($handle, "Lenovo L540")
GUICtrlSetData($handle, "Lenovo L560")

GUICtrlSetData($handle, "-----------TERMINAUX MOBILE-----------")
GUICtrlSetData($handle, "MC3000")
GUICtrlSetData($handle, "MC3090")
GUICtrlSetData($handle, "MC3190")
GUICtrlSetData($handle, "MC32N0")
GUICtrlSetData($handle, "Puit 4 positions")

GUICtrlSetData($handle, "--------------IMPRIMANTES--------------")
GUICtrlSetData($handle, "ZEBRA TLP2742")
GUICtrlSetData($handle, "ZEBRA TLP2844")
GUICtrlSetData($handle, "ZEBRA GX420t")
GUICtrlSetData($handle, "IMPRIMANTE BORNVE VAD")

GUICtrlSetData($handle, "--------------AFFICHAGE PUB--------------")
GUICtrlSetData($handle, "PLAYER HP")
GUICtrlSetData($handle, "PLAYER ELITE DESK")
GUICtrlSetData($handle, "Switch HDMI 4 ports")
GUICtrlSetData($handle, "Switch HDMI 8 ports")
GUICtrlSetData($handle, "BORNE VAD")
GUICtrlSetData($handle, "BORNE VAD ELITE DESK")
GUICtrlSetData($handle, "TABLETTE SAMSUNG TAB4")
GUICtrlSetData($handle, "TABLETTE SAMSUNG TABA")

GUICtrlSetData($handle, "--------------ENCAISSEMENT--------------")
GUICtrlSetData($handle, "ROUTEUR SDSL Principal")
GUICtrlSetData($handle, "ROUTEUR ADSL Secondaire")
GUICtrlSetData($handle, "SWITCH 24P ALLIED TELESIS")
GUICtrlSetData($handle, "SERVEUR VLP M2")
GUICtrlSetData($handle, "SERVEUR VLP M3")
GUICtrlSetData($handle, "SERVEUR VLP M4")
GUICtrlSetData($handle, "SERVEUR VLP M5")
GUICtrlSetData($handle, "UC IBM 543")
GUICtrlSetData($handle, "UC IBM 544")
GUICtrlSetData($handle, "UC IBM 566")
GUICtrlSetData($handle, "UC TOSHIBA E70")
GUICtrlSetData($handle, "TPE i3070")
GUICtrlSetData($handle, "TPE IPP320")
GUICtrlSetData($handle, "Douchette LS2208")
GUICtrlSetData($handle, "Douchette DS9808")
GUICtrlSetData($handle, "Print TG4")
GUICtrlSetData($handle, "Print TMH6000III")
GUICtrlSetData($handle, "Print TMH6000IV")
GUICtrlSetData($handle, "Tiroir caisse")
GUICtrlSetData($handle, "Monnayeur")
GUICtrlSetData($handle, "Câble RJ45")
EndFunc

Une petite question, la liste du matériel peut varier ? car dans ce cas, il va y avoir des problèmes !

Salut, oui elle pourra varier dans le temps quand on aura par exemple un autre modèle de PC.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Entree sortie matériels informatique

#7

Message par walkson »

Bonjour,
Voici un exemple pour monter les combos sur la base d'un CSV

Code : Tout sélectionner

$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25)
$entreetypemateriel1 = GUICtrlCreateCombo("Choisir un modèle", 208, 290, 217, 25)
$entreetypemateriel2 = GUICtrlCreateCombo("Choisir un modèle", 208, 320, 217, 25)
If Not FileExists("matos.csv") Then Exit MsgBox(0,"Error","matos.csv introuvable FIN")
$dataB = FileRead("matos.csv")
$data = StringReplace($dataB,@CRLF,"|");remplace retour de chariot par |
GUICtrlSetData($entreetypemateriel, $data)
GUICtrlSetData($entreetypemateriel1, $data)
GUICtrlSetData($entreetypemateriel2, $data)
GUISetState()
    While 1
        Switch GUIGetMsg()
			Case - 3
				Exit
			Case $entreetypemateriel
				$rep = controlcombo($entreetypemateriel)
				MsgBox(0,"Renvoie",$rep)
			Case $entreetypemateriel1
				$rep = controlcombo($entreetypemateriel1)
				MsgBox(0,"Renvoie1",$rep)
			Case $entreetypemateriel2
				$rep = controlcombo($entreetypemateriel2)
				MsgBox(0,"Renvoie2",$rep)

		EndSwitch
	WEnd
	Func controlcombo($handle);vérifie valeur combo
		$lire = GUICtrlRead($handle)
		If StringLeft($lire,2) = "=>" Or $lire = "" Or $lire = "Choisir un modèle" Then
			MsgBox(0,"Error","Erreur de saisie")
			Return SetError(1,1,"");renvoie une valeur vide
		Else
			Return $lire
		EndIf
	EndFunc
Pour éviter les erreurs de saisies, j'ai fais une petite gestion des erreurs qui renvoie une valeur vide et @Error
Structure du CSV

Code : Tout sélectionner

=>PC DE GESTION
Lenovo R500
Lenovo L512
Lenovo L52
Lenovo L530
Lenovo L540
Lenovo L560

=>TERMINAUX MOBILE
MC3000
MC3090
MC3190
MC32N0
Puit 4 positions

=>IMPRIMANTES
ZEBRA TLP2742
ZEBRA TLP2844
ZEBRA GX420t
IMPRIMANTE BORNVE VAD

=>AFFICHAGE PUB
PLAYER HP
PLAYER ELITE DESK
Switch HDMI 4 ports
Switch HDMI 8 ports
BORNE VAD
BORNE VAD ELITE DESK
TABLETTE SAMSUNG TAB4
TABLETTE SAMSUNG TABA
C'est une méthode simple qui est valable pour une liste de matériels limitée. Si celle ci était conséquente, la solution de JCHD serait meilleure (plus complexe à mettre en place mais simple d'usage, très rapide, très légère et qui dure dans le temps)
Le CSV doit être sur une colonne. Il aurait pu être un TXT mais je trouve plus lisible (question de gout :D )

Une autre petite question: je suppose que les données dans Excel se rajoute au fur et à mesure ? Dans ce cas, il faut trouver la ligne vierge où les nouvelles données s'écriront. Un autre petit exemple

Code : Tout sélectionner

#include <Excel.au3>
#include <MsgBoxConstants.au3>
Local $oAppl = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xlsx";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "SUIVISSTOCKSAV.xlsx", "Error opening '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "SUIVISSTOCKSAV.xlsx", "Workbook '" & $sWorkbook & "' has been opened successfully." & @CRLF & @CRLF & "Creation Date: " & $oWorkbook.BuiltinDocumentProperties("Creation Date").Value,2)
$oAppl.Sheets(2).Range("A1").Select ;positionner sur Feuille 2 en A1
For $i = 1 To 1048576;boucle sur la colonne 1
	Local $aResult = $oAppl.Sheets(2).Cells($i,1).Value
	If $aResult = "" Then;cherche cell vide sur la colonne 1
		$bResult = $oAppl.Sheets(2).Cells($i,1).Address
		ExitLoop
	EndIf
Next

 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, "Test" ,$bResult)
MsgBox(0,"","valeur rentrée en " & $bResult )
$oAppl.Sheets(1).Select
MsgBox(0,"", _Excel_RangeRead($oWorkbook, Default, "A1"))
Cela sous entend que la colonne 1 de la Feuil 2 ne contient pas de cellules vides intercalées.
C'est une méthode simple parmi beaucoup d'autres.
En espérant vous avoir aidé. Bon courage :wink:
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#8

Message par yblis »

Merci pour votre aide, cependant avec excel je peche un peu,
je suis débutant, du coup si vous pouviez m'aider a comprendre ces $oWorkbook $oAppl.Sheets

je voudrais dire :
-Ouvrir le fichier excel.xlsx en caché
-Ajouter a la feuille 1, à la dernière ligne vide, la variable lu en amont.
-Sauvegarder le ficher excel.xlsx toujours en caché


si quelqu'un a une autre solution plus simple sans pour autant utiliser du excel...
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#9

Message par yblis »

Voici le nouveau code,

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version : 3.3.12.0
 Auteur:         djamal B.

 Fonction du Script :
	Petite Gestion de stock Alimenté par un fichier excel :)

#ce ----------------------------------------------------------------------------

; Début du script - Ajouter votre code ci-dessous.
#pragma compile(Icon, C:\Program Files (x86)\AutoIt3\Icons\au3.ico)
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#Region ### START Koda GUI section ### Form=C:\Users\DJABOU\Documents\template AUTOIT\E-S_STOCK.kxf
$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)

;Liste de tout le matériel
$typemateriel = ""& _
"=========PC DE GESTION=========|Lenovo R500|Lenovo L512|Lenovo L520|Lenovo L530|Lenovo L540|Lenovo L560|"& _
"=======TERMINAUX MOBILE=======|MC3000|MC3090|MC3190|MC32N0|Puit 4 positions|"& _
"=========IMPRIMANTES==========|ZEBRA TLP2742|ZEBRA TLP2844|ZEBRA GX420t|IMPRIMANTE BORNVE VAD|"& _
"========AFFICHAGE PUB==========|PLAYER HP|PLAYER ELITE DESK|Switch HDMI 4 ports|Switch HDMI 8 ports|BORNE VAD|BORNE VAD ELITE DESK|TABLETTE SAMSUNG TAB4|TABLETTE SAMSUNG TABA|"& _
"=========ENCAISSEMENT=========|SERVEUR VLP M2|SERVEUR VLP M3|SERVEUR VLP M4|SERVEUR VLP M5|UC IBM 543|UC IBM 544|UC IBM 566|UC TOSHIBA E70|TPE i3070|TPE IPP320|Douchette LS2208|Douchette DS9808|Print TG4|Print TMH6000III|Print TMH6000IV|Tiroir caisse|Monnayeur|"& _
"==========RESEAUX=============|ROUTEUR SDSL Principal|ROUTEUR ADSL Secondaire|SWITCH 24P ALLIED TELESIS|Câble RJ45"

$Tab1 = GUICtrlCreateTab(8, 8, 457, 489)
;Onglet ENTREE
$TabSheet1 = GUICtrlCreateTabItem("Entree")
$Label1 = GUICtrlCreateLabel("Entrée de Stock", 160, 48, 143, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$entreenommagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$entreecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$entreenumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$entreeadresseip = GUICtrlCreateInput("", 208, 216, 121, 21)
; liste de matériel
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($entreetypemateriel, $typemateriel)

$entreenumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$entreemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")
$boutonentree = GUICtrlCreateButton("Entrée", 256, 456, 75, 25)
$boutonQuitter = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET SORTIE
$TabSheet2 = GUICtrlCreateTabItem("Sortie")
$Label9 = GUICtrlCreateLabel("Sortie de Stock", 160, 48, 137, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label10 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$sortiecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label11 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label12 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortienumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$sortieadresseip = GUICtrlCreateInput("", 208, 216, 121, 21)
$Label13 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label14 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

; liste de matériel
$sortietypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($sortietypemateriel, $typemateriel)

$sortienumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$Label15 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label16 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")
$boutonsortie = GUICtrlCreateButton("Sortie", 256, 456, 75, 25)
$boutonQuitter1 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET S.A.V.
$TabSheet3 = GUICtrlCreateTabItem("S.A.V.")
$Label17 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savmagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$label122 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 136, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

; liste de matériel
$savtypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 136, 217, 21, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($savtypemateriel, $typemateriel)

$Label19 = GUICtrlCreateLabel("N° de SERIE", 56, 176, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savnumserie = GUICtrlCreateInput("", 208, 176, 217, 21)
$Label20 = GUICtrlCreateLabel("Diagnostique", 56, 216, 98, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savdiag = GUICtrlCreateEdit("", 208, 216, 217, 105, 4)
GUICtrlSetData(-1, "")
$Label21 = GUICtrlCreateLabel("Mise en SAV", 160, 48, 120, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$boutonsav = GUICtrlCreateButton("SAV", 256, 456, 75, 25)
$boutonQuitter2 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET REBUT
$TabSheet4 = GUICtrlCreateTabItem("REBUT")
$Label25 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 96, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$rebuttypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 96, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($rebuttypemateriel, $typemateriel)

$Label26 = GUICtrlCreateLabel("N° de SERIE", 56, 136, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutnumserie = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label27 = GUICtrlCreateLabel("MOTIF", 56, 176, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutmotif = GUICtrlCreateEdit("", 208, 176, 217, 137, 4)
GUICtrlSetData(-1, "")
$Boutonrebut = GUICtrlCreateButton("Rebut", 256, 456, 75, 25)
$BoutonQuitter3 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)
$Label29 = GUICtrlCreateLabel("Mise en REBUT", 144, 48, 144, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")

;ONGLET RECEPTION COMMANDE
$TabSheet5 = GUICtrlCreateTabItem("Réception Commande")
$Label30 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 104, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$receptiontypemateriels = GUICtrlCreateCombo("Choisir un modèle", 208, 104, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($receptiontypemateriels, $typemateriel)

$Label31 = GUICtrlCreateLabel("N° de SERIE", 56, 144, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label32 = GUICtrlCreateLabel("Réception de Commande", 120, 48, 225, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")

;$receptionnumserie = GUICtrlCreateInput("", 208, 144, 217, 21)
$receptionnumserie = GUICtrlCreateEdit("", 208, 144, 217, 280, 4)
GUICtrlSetData(-1, "")
$BoutonQuitter4 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)
$BoutonReception = GUICtrlCreateButton("Entrée", 264, 456, 75, 25)


GUICtrlCreateTabItem("")
$Label28 = GUICtrlCreateLabel("Créé par Djamal B.", 612, 479, 92, 17)
$MonthCal1 = GUICtrlCreateMonthCal("", 472, 32, 229, 164)
$Date1 = GUICtrlCreateDate("", 496, 200, 186, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;~ VARIABLE=========================================================================================================================================================================================================================================================
DIM $EXCELES = ("\\w3khome\Echanges\Informatique\DSI - Exploitation\DSI - Exploitation Magasin\Gestion Matériel\Gestion de Parc\BackOffice\SUIVIS STOCK + SAV.xlsx")
DIM $chrsai = ("christian.saidi@gifi.fr")
DIM $repsource = ("C:\StockExpress\source\")
DIM $sme = ("C:\StockExpress\source\mail-entree.vbs")
DIM $sms = ("C:\StockExpress\source\mail-sortie.vbs")
DIM $reptemp  = ("C:\StockExpress\temporaire")
DIM $tempme = ("C:\StockExpress\temporaire\mail-entree.vbs")
DIM $tempsms = ("C:\StockExpress\temporaire\mail-sortie.vbs")

;~ VARIABLE=========================================================================================================================================================================================================================================================

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
;~ ONGLET ENTREE=========================================================================================================================================================================================================================================================
		Case $boutonentree

; Lecture des variables
$lentreetypemateriel = GUICtrlRead($entreetypemateriel)
$lentreenommagasin = GUICtrlRead ($entreenommagasin)
$lentreecodeclient = GUICtrlRead ($entreecodeclient)
$lentreenumtosh = GUICtrlRead ($entreenumtosh )
$lentreeadresseip = GUICtrlRead ($entreeadresseip)
$lentreenumserie = GUICtrlRead ($entreenumserie)
$lentreemotif = GUICtrlRead ($entreemotif)
$ldate = GUICtrlRead ($Date1)
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempme, "matos", $lentreetypemateriel)
			 _ReplaceStringInFile ($tempme, "nommag", $lentreenommagasin)
			 _ReplaceStringInFile ($tempme, "codeclient", $lentreecodeclient)
			 _ReplaceStringInFile ($tempme, "ntosh", $lentreenumtosh)
			 _ReplaceStringInFile ($tempme, "nadresseip", $lentreeadresseip)
			 _ReplaceStringInFile ($tempme, "nserie", $lentreenumserie)
			 _ReplaceStringInFile ($tempme, "raison", $lentreemotif)
			 _ReplaceStringInFile ($tempme, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mail d'entrée de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-entree.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")

;Modification du fichier entrée sortie stock==============================================================================================================================================================================================


Local $oAppl = _Excel_Open()
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xlsx";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "SUIVISSTOCKSAV.xlsx", "Error opening '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "SUIVISSTOCKSAV.xlsx", "Workbook '" & $sWorkbook & "' has been opened successfully." & @CRLF & @CRLF & "Creation Date: " & $oWorkbook.BuiltinDocumentProperties("Creation Date").Value,2)

;PC DE GESTION==============================================
; Colonne MAGASIN
$oAppl.Sheets(1).Range("A1").Select ;positionner sur Feuille 1 en A1
For $i = 1 To 1048576;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets(1).Cells($i,1).Value
   If $aResult = "" Then;cherche cell vide sur la colonne 1
      $bResult = $oAppl.Sheets(1).Cells($i,1).Address
      ExitLoop
   EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreenommagasin ,$bResult)
								 MsgBox(0,"","valeur rentrée en " & $bResult )
$oAppl.Sheets(1).Select
								 MsgBox(0,"", _Excel_RangeRead($oWorkbook, Default, "A1"))

; Colonne Code Client
$oAppl.Sheets(1).Range("B1").Select ;positionner sur Feuille 1 en A1
For $i = 1 To 1048576;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets(1).Cells($i,1).Value
   If $aResult = "" Then;cherche cell vide sur la colonne 1
      $bResult = $oAppl.Sheets(1).Cells($i,1).Address
      ExitLoop
   EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreecodeclient ,$bResult)
								 MsgBox(0,"","valeur rentrée en " & $bResult )
$oAppl.Sheets(1).Select
								 MsgBox(0,"", _Excel_RangeRead($oWorkbook, Default, "B1"))























;FileOpen ( $EXCELES ,0)
		Case $boutonQuitter
			Exit
;~ ONGLET SORTIE=========================================================================================================================================================================================================================================================
		Case $boutonsortie
; Lecture des variables
$lsortietypemateriel = GUICtrlRead($sortietypemateriel)
$lsortiemagasin = GUICtrlRead ($sortiemagasin)
$lsortiecodeclient = GUICtrlRead ($sortiecodeclient)
$lsortienumtosh = GUICtrlRead ($sortienumtosh)
$lsortieadresseip = GUICtrlRead ($sortieadresseip)
$lsortienumserie = GUICtrlRead ($sortienumserie)
$lsortiemotif = GUICtrlRead ($sortiemotif)
$ldate = GUICtrlRead ($Date1)
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempsms, "matos", $lsortietypemateriel)
			 _ReplaceStringInFile ($tempsms, "nommag", $lsortiemagasin)
			 _ReplaceStringInFile ($tempsms, "codeclient", $lsortiecodeclient)
			 _ReplaceStringInFile ($tempsms, "ntosh", $lsortienumtosh)
			 _ReplaceStringInFile ($tempsms, "nadresseip", $lsortieadresseip)
			 _ReplaceStringInFile ($tempsms, "nserie", $lsortienumserie)
			 _ReplaceStringInFile ($tempsms, "raison", $lsortiemotif)
			 _ReplaceStringInFile ($tempsms, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mais de sortie de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-sortie.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")
;Modification du fichier entrée sortie stock
		Case $boutonQuitter1
			Exit
;~ ONGLET SAV============================================================================================================================================================================================================================================================
		Case $boutonsav

		Case $boutonQuitter2
			Exit
;~ ONGLET REBUT==========================================================================================================================================================================================================================================================
		Case $Boutonrebut

		Case $boutonQuitter3
			Exit
;~ ONGLET RECEPTION======================================================================================================================================================================================================================================================
		Case $BoutonReception

		Case $boutonQuitter4
			Exit






	EndSwitch
WEnd
Par contre ça n'édite pas la deuxième colonne d'excel (B1)
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Entree sortie matériels informatique

#10

Message par walkson »

Bonjour,
$oAppl est l'objet "application.excel"
$oWorkbook est le classeur ouvert donc un cran au dessus
"Par contre ça n'édite pas la deuxième colonne d'excel (B1)" C'est une chance ! puisque vous êtes en $oAppl.Sheets(1).Cells($i,1).Address (colonne 1) :mrgreen:
Pour aller en colonne 2: _Excel_RangeWrite($oWorkbook, $oWorkbook.Sheets(1), "Test" ,$oWorkbook.Sheets(1).Range($bResult).Offset(0, 1))
Mais je pense qu'il serait plus simple de rentrer toutes les données dans un array et de faire _Excel_RangeWrite($oWorkbook, $oWorkbook.Sheets("E&S PC de Gestion"), $array ,$bResult) comme suit:

Code : Tout sélectionner

#include <Excel.au3>
#include <Array.au3>
#include <GuiComboBox.au3>
#cs
pour rappel
déclarer un array: Local ou Global (eviter Dim)
Local $array[20] 20 lignes 1 colonne premiere valeur $array[0] derniere valeur $array[19]
UBound($array) renvoie le nb total de lignes soit 20
Local $array[20][10] 20 lignes  10 colonnes premiere valeur $array[0][0] derniere valeur $array[19][9]
#ce
Global $array[1][3];1 ligne 3 colonnes
$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25)
$entreetypemateriel1 = GUICtrlCreateCombo("Choisir un modèle", 208, 290, 217, 25)
$entreetypemateriel2 = GUICtrlCreateCombo("Choisir un modèle", 208, 320, 217, 25)
$envoie = GUICtrlCreateButton("Envoie",208,360,50,30)
$data = ""& _
"=========PC DE GESTION=========|Lenovo R500|Lenovo L512|Lenovo L520|Lenovo L530|Lenovo L540|Lenovo L560|"& _
"=======TERMINAUX MOBILE=======|MC3000|MC3090|MC3190|MC32N0|Puit 4 positions|"& _
"=========IMPRIMANTES==========|ZEBRA TLP2742|ZEBRA TLP2844|ZEBRA GX420t|IMPRIMANTE BORNVE VAD|"& _
"========AFFICHAGE PUB==========|PLAYER HP|PLAYER ELITE DESK|Switch HDMI 4 ports|Switch HDMI 8 ports|BORNE VAD|BORNE VAD ELITE DESK|TABLETTE SAMSUNG TAB4|TABLETTE SAMSUNG TABA|"& _
"=========ENCAISSEMENT=========|SERVEUR VLP M2|SERVEUR VLP M3|SERVEUR VLP M4|SERVEUR VLP M5|UC IBM 543|UC IBM 544|UC IBM 566|UC TOSHIBA E70|TPE i3070|TPE IPP320|Douchette LS2208|Douchette DS9808|Print TG4|Print TMH6000III|Print TMH6000IV|Tiroir caisse|Monnayeur|"& _
"==========RESEAUX=============|ROUTEUR SDSL Principal|ROUTEUR ADSL Secondaire|SWITCH 24P ALLIED TELESIS|Câble RJ45"
GUICtrlSetData($entreetypemateriel, $data)
GUICtrlSetData($entreetypemateriel1, $data)
GUICtrlSetData($entreetypemateriel2, $data)
GUISetState()
    While 1
        Switch GUIGetMsg()
			Case - 3
				Exit
			Case $envoie
				$rep = controlcombo($entreetypemateriel)
				If @error Then ContinueCase;si erreur on passe son tour
				$array[0][0] = $rep ;on remplie l'array

				$rep1 = controlcombo($entreetypemateriel1)
				If @error Then ContinueCase
				$array[0][1] = $rep1

				$rep2 = controlcombo($entreetypemateriel2)
				If @error Then ContinueCase
				$array[0][2] = $rep2
				
				_ArrayDisplay($array);pour voir
				$box = MsgBox(4,"Control","Valider l'écriture ?" &@CR&@CR& $rep &@CR& $rep1 &@CR& $rep2)
				If $box = 6 Then excelwrite()
		EndSwitch
	WEnd
	Func controlcombo($handle);vérifie valeur combo
		$lire = GUICtrlRead($handle)
		If StringLeft($lire,2) = "==" Or $lire = "" Or $lire = "Choisir un modèle" Then
			MsgBox(0,"Error","Erreur de saisie => " & $lire,0,$Form1)
			Return SetError(1,1,"");renvoie une valeur vide
		Else
			Return $lire
		EndIf
	EndFunc
Func excelwrite()
Local $oAppl = _Excel_Open(False)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xlsx";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "SUIVISSTOCKSAV.xlsx", "Error opening '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

For $i = 1 To 1048576;boucle sur la colonne 1
	Local $aResult = $oAppl.Sheets("E&S PC de Gestion").Cells($i,1).Value
	If $aResult = "" Then;cherche cell vide sur la colonne 1
		$bResult = $oAppl.Sheets("E&S PC de Gestion").Cells($i,1).Address
		ExitLoop
	EndIf
Next
_Excel_RangeWrite($oWorkbook, $oWorkbook.Sheets("E&S PC de Gestion"), $array ,$bResult)
_Excel_Close ( $oAppl)
_GUICtrlComboBox_SetCurSel($entreetypemateriel, 0)
_GUICtrlComboBox_SetCurSel($entreetypemateriel1, 0)
_GUICtrlComboBox_SetCurSel($entreetypemateriel2, 0)
EndFunc
Excel est ici invisible et l'enregistrement à sa fermeture (voir l'aide ou F1). Faire attention si Autoit bugue, Excel continue à tourner en arrière plan donc 10 bugs = 10 Excels etc...
J'attire aussi votre attention sur les combos et d'éviter la saisie comme "=========PC DE GESTION=========" quand l'utilisateur ne voit pas sa saisie sur Excel, d'où la raison d'une bonne gestion des erreurs
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#11

Message par yblis »

Bon,

J'ai presque fini le script cependant, sur la colonne A du fichier excel ça me mets des choses à la mauvaise feuille, je comprends pas pourquoi.

Voici le script

Code : Tout sélectionner

#cs ----------------------------------------------------------------------------

 AutoIt Version : 3.3.12.0
 Auteur:         djamal B.

 Fonction du Script :
	Petite Gestion de stock Alimenté par un fichier excel :)

#ce ----------------------------------------------------------------------------

; Début du script - Ajouter votre code ci-dessous.
#pragma compile(Icon, C:\Program Files (x86)\AutoIt3\Icons\au3.ico)
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <GuiIPAddress.au3>
#include <File.au3>
#include <MsgBoxConstants.au3>
#include <FileConstants.au3>
#include <Excel.au3>
#Region ### START Koda GUI section ### Form=C:\Users\DJABOU\Documents\template AUTOIT\E-S_STOCK.kxf
$Form1 = GUICreate("Suivis Stock", 710, 505, 181, 171)

;Liste de tout le matériel
DIM $typemateriel = ""& _
"            PC DE GESTION|Lenovo R500|Lenovo L512|Lenovo L520|Lenovo L530|Lenovo L540|Lenovo L560|" & _
"            TERMINAUX MOBILE|MC3000|MC3090|MC3190|MC32N0|Puit 4 positions|"& _
"            IMPRIMANTES|ZEBRA TLP2742|ZEBRA TLP2844|ZEBRA GX420t|IMPRIMANTE BORNVE VAD|"& _
"            AFFICHAGE PUB|PLAYER HP|PLAYER ELITE DESK|Switch HDMI 4 ports|Switch HDMI 8 ports|BORNE VAD|BORNE VAD ELITE DESK|TABLETTE SAMSUNG TAB4|TABLETTE SAMSUNG TABA|"& _
"            ENCAISSEMENT|SERVEUR VLP M2|SERVEUR VLP M3|SERVEUR VLP M4|SERVEUR VLP M5|UC IBM 543|UC IBM 544|UC IBM 566|UC TOSHIBA E70|TPE i3070|TPE IPP320|Douchette LS2208|Douchette DS9808|Print TG4|Print TMH6000III|Print TMH6000IV|Tiroir caisse|Monnayeur|"& _
"            RESEAUX|ROUTEUR SDSL Principal|ROUTEUR ADSL Secondaire|SWITCH 24P ALLIED TELESIS|Câble RJ45"

$Tab1 = GUICtrlCreateTab(8, 8, 457, 489)
;Onglet ENTREE========================================================================================================================================================================================================================================================
$TabSheet1 = GUICtrlCreateTabItem("Entree")
$Label1 = GUICtrlCreateLabel("Entrée de Stock", 160, 48, 143, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label4 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label5 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label7 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label8 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$entreenommagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$entreecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$entreenumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$entreeadresseip = GUICtrlCreateInput("Adresse IP", 208, 216, 121, 21)
; liste de matériel
$entreetypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($entreetypemateriel, $typemateriel)
$entreenumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$entreemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")

$entreenomtech = GUICtrlCreateInput("", 100, 462, 75, 25)
$boutonentree = GUICtrlCreateButton("Entrée", 256, 456, 75, 25)
$boutonQuitter = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET SORTIE========================================================================================================================================================================================================================================================
$TabSheet2 = GUICtrlCreateTabItem("Sortie")
$Label9 = GUICtrlCreateLabel("Sortie de Stock", 160, 48, 137, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$Label10 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$sortiecodeclient = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label11 = GUICtrlCreateLabel("CODE CLIENT", 56, 136, 110, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label12 = GUICtrlCreateLabel("N° de TOSH", 56, 176, 90, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortienumtosh = GUICtrlCreateInput("", 208, 176, 217, 21)
$sortieadresseip = GUICtrlCreateInput("Adresse IP", 208, 216, 121, 21)
$Label13 = GUICtrlCreateLabel("ADRESSE IP", 56, 216, 102, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label14 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 256, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

; liste de matériel========================================================================================================================================================================================================================================================
$sortietypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 256, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($sortietypemateriel, $typemateriel)

$sortienumserie = GUICtrlCreateInput("", 208, 296, 217, 21)
$Label15 = GUICtrlCreateLabel("N° de SERIE", 56, 296, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label16 = GUICtrlCreateLabel("MOTIF", 56, 336, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$sortiemotif = GUICtrlCreateEdit("", 208, 336, 217, 105, 4)
GUICtrlSetData(-1, "")
$sortienomtech = GUICtrlCreateInput("", 100, 462, 75, 25)
$boutonsortie = GUICtrlCreateButton("Sortie", 256, 456, 75, 25)
$boutonQuitter1 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET S.A.V.========================================================================================================================================================================================================================================================
$TabSheet3 = GUICtrlCreateTabItem("S.A.V.")
$Label17 = GUICtrlCreateLabel("MAGASIN", 56, 96, 79, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savmagasin = GUICtrlCreateInput("", 208, 96, 217, 21)
$label122 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 136, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
; liste de matériel
$savtypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 136, 217, 21, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($savtypemateriel, $typemateriel)

$Label19 = GUICtrlCreateLabel("N° de SERIE", 56, 176, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savnumserie = GUICtrlCreateInput("", 208, 176, 217, 21)
$Label20 = GUICtrlCreateLabel("Diagnostique", 56, 216, 98, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$savmotif = GUICtrlCreateEdit("", 208, 216, 217, 105, 4)
GUICtrlSetData(-1, "")
$Label21 = GUICtrlCreateLabel("Mise en SAV", 160, 48, 120, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")
$savnomtech = GUICtrlCreateInput("", 100, 462, 75, 25)
$boutonsav = GUICtrlCreateButton("SAV", 256, 456, 75, 25)
$boutonQuitter2 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)

;ONGLET REBUT========================================================================================================================================================================================================================================================
$TabSheet4 = GUICtrlCreateTabItem("REBUT")
$Label25 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 96, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$rebuttypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 96, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($rebuttypemateriel, $typemateriel)

$Label26 = GUICtrlCreateLabel("N° de SERIE", 56, 136, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutnumserie = GUICtrlCreateInput("", 208, 136, 217, 21)
$Label27 = GUICtrlCreateLabel("MOTIF", 56, 176, 53, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$rebutmotif = GUICtrlCreateEdit("", 208, 176, 217, 137, 4)
GUICtrlSetData(-1, "")
$rebutnomtech = GUICtrlCreateInput("", 100, 462, 75, 25)
$Boutonrebut = GUICtrlCreateButton("Rebut", 256, 456, 75, 25)
$BoutonQuitter3 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)
$Label29 = GUICtrlCreateLabel("Mise en REBUT", 144, 48, 144, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")

;ONGLET RECEPTION COMMANDE========================================================================================================================================================================================================================================================
$TabSheet5 = GUICtrlCreateTabItem("Réception Commande")
$Label30 = GUICtrlCreateLabel("TYPE MATERIEL", 56, 104, 130, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;List Matériels
$receptiontypemateriel = GUICtrlCreateCombo("Choisir un modèle", 208, 104, 217, 25, BitOR($CBS_DROPDOWN,$WS_VSCROLL))
GUICtrlSetData($receptiontypemateriel, $typemateriel)

$Label31 = GUICtrlCreateLabel("N° de SERIE", 56, 144, 96, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Label32 = GUICtrlCreateLabel("Réception de Commande", 120, 48, 225, 29)
GUICtrlSetFont(-1, 16, 400, 0, "MS Sans Serif")



;$receptionnumserie = GUICtrlCreateInput("", 208, 144, 217, 21)
$receptionnumserie = GUICtrlCreateEdit("", 208, 144, 217, 280, 4)
GUICtrlSetData(-1, "")
$receptionnomtech = GUICtrlCreateInput("", 100, 462, 75, 25)
$BoutonReception = GUICtrlCreateButton("Réception", 264, 456, 75, 25)
$BoutonQuitter4 = GUICtrlCreateButton("Quitter", 352, 456, 75, 25)



GUICtrlCreateTabItem("")
$Labelnomtech = GUICtrlCreateLabel("Traité par", 20, 462, 70, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

$Label28 = GUICtrlCreateLabel("Créé par Djamal B.", 612, 479, 92, 17)
$MonthCal1 = GUICtrlCreateMonthCal("", 472, 32, 229, 164)
$Date1 = GUICtrlCreateDate("", 496, 200, 186, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;~ VARIABLE=========================================================================================================================================================================================================================================================
DIM $EXCELES = ("\\w3khome\Echanges\Informatique\DSI - Exploitation\DSI - Exploitation Magasin\Gestion Matériel\Gestion de Parc\BackOffice\SUIVIS STOCK + SAV.xlsx")
DIM $chrsai = ("adressemail@mail.fr")
DIM $repsource = ("C:\StockExpress\source\")
DIM $sme = ("C:\StockExpress\source\mail-entree.vbs")
DIM $sms = ("C:\StockExpress\source\mail-sortie.vbs")
DIM $reptemp  = ("C:\StockExpress\temporaire")
DIM $tempme = ("C:\StockExpress\temporaire\mail-entree.vbs")
DIM $tempsms = ("C:\StockExpress\temporaire\mail-sortie.vbs")

;~ VARIABLE=========================================================================================================================================================================================================================================================

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
;~ ONGLET Entree=========================================================================================================================================================================================================================================================
		Case $boutonentree

; Lecture des variables
$lentreetypemateriel = GUICtrlRead($entreetypemateriel)
$lentreenommagasin = GUICtrlRead ($entreenommagasin)
$lentreecodeclient = GUICtrlRead ($entreecodeclient)
$lentreenumtosh = GUICtrlRead ($entreenumtosh )
$lentreeadresseip = GUICtrlRead ($entreeadresseip)
$lentreenumserie = GUICtrlRead ($entreenumserie)
$lentreemotif = GUICtrlRead ($entreemotif)
$ldate = GUICtrlRead ($Date1)
$lentreenomtech = GUICtrlRead ($entreenomtech)
; condition remplir TOUT le formulaire
If $lentreenommagasin = "" or $lentreecodeclient = "" or $lentreenumtosh = "" or $lentreetypemateriel = "" or $lentreeadresseip = "" or $lentreenumserie = "" or $lentreemotif = "" or $lentreenomtech = "" Then
   MsgBox (64, "Information", "Vous avez oublié de renseigner un ou plusieurs élements du formulaire, Merci de bien remplir tout les champs.", 3)
Else
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempme, "matos", $lentreetypemateriel)
			 _ReplaceStringInFile ($tempme, "nommag", $lentreenommagasin)
			 _ReplaceStringInFile ($tempme, "codeclient", $lentreecodeclient)
			 _ReplaceStringInFile ($tempme, "ntosh", $lentreenumtosh)
			 _ReplaceStringInFile ($tempme, "nadresseip", $lentreeadresseip)
			 _ReplaceStringInFile ($tempme, "nserie", $lentreenumserie)
			 _ReplaceStringInFile ($tempme, "raison", $lentreemotif)
			 _ReplaceStringInFile ($tempme, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mail d'entrée de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-entree.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")

;Modification du fichier entrée sortie stock==============================================================================================================================================================================================
Local $oAppl = _Excel_Open(False, Default, Default, Default)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xls";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
;~ ==========================================================================================
;~ Colonne MAGASIN
$oAppl.Sheets(1).Range("A1").Select ;positionner sur Feuille 1 en A1
For $i = 1 To 65536   ;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets(1).Cells($i,1).Value
   If $aResult = "" Then;cherche cell vide sur la colonne 1
      $bResult = $oAppl.Sheets(1).Cells($i,1).Address
      ExitLoop
   EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreenommagasin ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Code Client
$oAppl.Sheets(1).Range("B1").Select ;positionner sur Feuille 1 en B1
For $i = 1 To 65536 ;boucle sur la colonne 2
   Local $aResult = $oAppl.Sheets(1).Cells($i,2).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 2
	  $bResult = $oAppl.Sheets(1).Cells($i,2).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreecodeclient ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne TOSH
$oAppl.Sheets(1).Range("C1").Select ;positionner sur Feuille 1 en C1
For $i = 1 To 65536 ;boucle sur la colonne 3
   Local $aResult = $oAppl.Sheets(1).Cells($i,3).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 3
	  $bResult = $oAppl.Sheets(1).Cells($i,3).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreenumtosh ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Modèle
$oAppl.Sheets(1).Range("D1").Select ;positionner sur Feuille 1 en D1
For $i = 1 To 65536 ;boucle sur la colonne 4
   Local $aResult = $oAppl.Sheets(1).Cells($i,4).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 4
	  $bResult = $oAppl.Sheets(1).Cells($i,4).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreetypemateriel ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Adresse IP
$oAppl.Sheets(1).Range("E1").Select ;positionner sur Feuille 1 en E1
For $i = 1 To 65536 ;boucle sur la colonne 5
   Local $aResult = $oAppl.Sheets(1).Cells($i,5).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 5
	  $bResult = $oAppl.Sheets(1).Cells($i,5).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreeadresseip ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Numéro de Serie
$oAppl.Sheets(1).Range("F1").Select ;positionner sur Feuille 1 en F1
For $i = 1 To 65536 ;boucle sur la colonne 6
   Local $aResult = $oAppl.Sheets(1).Cells($i,6).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 6
	  $bResult = $oAppl.Sheets(1).Cells($i,6).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreenumserie ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne MOTIF
$oAppl.Sheets(1).Range("G1").Select ;positionner sur Feuille 1 en G1
For $i = 1 To 65536 ;boucle sur la colonne 7
   Local $aResult = $oAppl.Sheets(1).Cells($i,7).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 7
	  $bResult = $oAppl.Sheets(1).Cells($i,7).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreemotif ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Date d'entree
$oAppl.Sheets(1).Range("H1").Select ;positionner sur Feuille 1 en H1
For $i = 1 To 65536 ;boucle sur la colonne 8
   Local $aResult = $oAppl.Sheets(1).Cells($i,8).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 8
	  $bResult = $oAppl.Sheets(1).Cells($i,8).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $ldate ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
;~ Colonne Traité par
$oAppl.Sheets(1).Range("I1").Select ;positionner sur Feuille 1 en I1
For $i = 1 To 65536 ;boucle sur la colonne 9
   Local $aResult = $oAppl.Sheets(1).Cells($i,9).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 9
	  $bResult = $oAppl.Sheets(1).Cells($i,9).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lentreenomtech ,$bResult)
$oAppl.Sheets(1).Select
;~ ==========================================================================================
MsgBox (64, "Information", "Fichier E/S renseigné!", 3)
;Fermeture et Sauvegarde fichier Excel
_Excel_BookClose ($oWorkbook)
_Excel_Close($oWorkbook)
;~ ==========================================================================================
endif

		Case $boutonQuitter
			Exit
;~ ONGLET SORTIE=========================================================================================================================================================================================================================================================
		Case $boutonsortie
; Lecture des variables
$lsortietypemateriel = GUICtrlRead($sortietypemateriel)
$lsortiemagasin = GUICtrlRead ($sortiemagasin)
$lsortiecodeclient = GUICtrlRead ($sortiecodeclient)
$lsortienumtosh = GUICtrlRead ($sortienumtosh)
$lsortieadresseip = GUICtrlRead ($sortieadresseip)
$lsortienumserie = GUICtrlRead ($sortienumserie)
$lsortiemotif = GUICtrlRead ($sortiemotif)
$ldate = GUICtrlRead ($Date1)
$lsortienomtech = GUICtrlRead ($sortienomtech)
; condition remplir TOUT le formulaire
If $lsortiemagasin = "" or $lsortiecodeclient = "" or $lsortienumtosh = "" or $lsortietypemateriel = "" or $lsortieadresseip = "" or $lsortienumserie = "" or $lsortiemotif = "" or $lsortienomtech = "" Then
   MsgBox (64, "Information", "Vous avez oublié de renseigner un ou plusieurs élements du formulaire, Merci de bien remplir tout les champs.", 3)
Else
; supprimer dossier temporaire de C:\StockExpress
		DirRemove ($reptemp, 1)
; créé dossier temporaire dans C:\StockExpress
		DirCreate ($reptemp)
;copier les fichiers du répertoire C:\StockExpress\source\ dans C:\StockExpress\temporaire
		FileCopy ($sme, $reptemp)
		FileCopy ($sms, $reptemp)
MsgBox (64, "Information", "Copie des fichier terminer, appuyé sur OK pour lancer la modification des fichiers")
;remplacement des caractères:
			 _ReplaceStringInFile ($tempsms, "matos", $lsortietypemateriel)
			 _ReplaceStringInFile ($tempsms, "nommag", $lsortiemagasin)
			 _ReplaceStringInFile ($tempsms, "codeclient", $lsortiecodeclient)
			 _ReplaceStringInFile ($tempsms, "ntosh", $lsortienumtosh)
			 _ReplaceStringInFile ($tempsms, "nadresseip", $lsortieadresseip)
			 _ReplaceStringInFile ($tempsms, "nserie", $lsortienumserie)
			 _ReplaceStringInFile ($tempsms, "raison", $lsortiemotif)
			 _ReplaceStringInFile ($tempsms, "datedujour", $ldate)
	MsgBox (64, "Information", "Modification des fichiers terminé, cliquer sur OK pour envoyer le mais de sortie de matériel")
; Envoi du mail avec code vbs
	shellexecute ('c:\windows\system32\cscript.exe', '"C:\StockExpress\temporaire\mail-sortie.vbs"')
;run ('wscript.exe "C:\StockExpress\temporaire\mail-entree.vbs"'
	MsgBox (64, "Information", "mail envoyé à Christian, cliquer sur OK pour modifier le fichier entree sortie stock")
;Modification du fichier entrée sortie stock==============================================================================================================================================================================================
Local $oAppl = _Excel_Open(False, Default, Default, Default)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xls";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
;==========================================================================================
; Colonne MAGASIN
$oAppl.Sheets("SORTIE").Range("A1").Select ;positionner sur Feuille 2 en A1
For $i = 1 To 65536   ;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets("SORTIE").Cells($i,1).Value
   If $aResult = "" Then;cherche cell vide sur la colonne 1
      $bResult = $oAppl.Sheets("SORTIE").Cells($i,1).Address
      ExitLoop
   EndIf
Next
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortiemagasin ,$bResult)
$oAppl.Sheets("SORTIE").Select
;==========================================================================================
; Colonne Code Client
$oAppl.Sheets(2).Range("B1").Select ;positionner sur Feuille 2 en B1
For $i = 1 To 65536 ;boucle sur la colonne 2
   Local $aResult = $oAppl.Sheets(2).Cells($i,2).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 2
	  $bResult = $oAppl.Sheets(2).Cells($i,2).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortiecodeclient ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne TOSH
$oAppl.Sheets(2).Range("C1").Select ;positionner sur Feuille 2 en C1
For $i = 1 To 65536 ;boucle sur la colonne 3
   Local $aResult = $oAppl.Sheets(2).Cells($i,3).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 3
	  $bResult = $oAppl.Sheets(2).Cells($i,3).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortienumtosh ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne Modèle
$oAppl.Sheets(2).Range("D1").Select ;positionner sur Feuille 2 en D1
For $i = 1 To 65536 ;boucle sur la colonne 4
   Local $aResult = $oAppl.Sheets(2).Cells($i,4).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 4
	  $bResult = $oAppl.Sheets(2).Cells($i,4).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortietypemateriel ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne Adresse IP
$oAppl.Sheets(2).Range("E1").Select ;positionner sur Feuille 2 en E1
For $i = 1 To 65536 ;boucle sur la colonne 5
   Local $aResult = $oAppl.Sheets(2).Cells($i,5).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 5
	  $bResult = $oAppl.Sheets(2).Cells($i,5).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortieadresseip ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne Numéro de Serie
$oAppl.Sheets(2).Range("F1").Select ;positionner sur Feuille 2 en F1
For $i = 1 To 65536 ;boucle sur la colonne 6
   Local $aResult = $oAppl.Sheets(2).Cells($i,6).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 6
	  $bResult = $oAppl.Sheets(2).Cells($i,6).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortienumserie ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne MOTIF
$oAppl.Sheets(2).Range("G1").Select ;positionner sur Feuille 2 en G1
For $i = 1 To 65536 ;boucle sur la colonne 7
   Local $aResult = $oAppl.Sheets(2).Cells($i,7).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 7
	  $bResult = $oAppl.Sheets(2).Cells($i,7).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortiemotif ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne Date d'entree
$oAppl.Sheets(2).Range("H1").Select ;positionner sur Feuille 2 en H1
For $i = 1 To 65536 ;boucle sur la colonne 8
   Local $aResult = $oAppl.Sheets(2).Cells($i,8).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 8
	  $bResult = $oAppl.Sheets(2).Cells($i,8).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $ldate ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
;Colonne Traité par
$oAppl.Sheets(2).Range("I1").Select ;positionner sur Feuille 2 en I1
For $i = 1 To 65536 ;boucle sur la colonne 9
   Local $aResult = $oAppl.Sheets(2).Cells($i,9).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 9
	  $bResult = $oAppl.Sheets(2).Cells($i,9).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsortienomtech ,$bResult)
$oAppl.Sheets(2).Select
;==========================================================================================
MsgBox (64, "Information", "Fichier E/S renseigné!", 3)
;Fermeture et Sauvegarde fichier Excel
_Excel_BookClose ($oWorkbook)
_Excel_Close($oWorkbook)
;==========================================================================================
EndIf
		Case $boutonQuitter1
			Exit
;~ ONGLET SAV============================================================================================================================================================================================================================================================
		Case $boutonsav
; Lecture des variables
$lsavtypemateriel = GUICtrlRead($savtypemateriel)
$lsavmagasin = GUICtrlRead ($savmagasin)
$lsavnumserie = GUICtrlRead ($savnumserie)
$lsavmotif = GUICtrlRead ($savmotif)
$ldate = GUICtrlRead ($Date1)
$lsavnomtech = GUICtrlRead ($savnomtech)
; condition remplir TOUT le formulaire
If $lsavmagasin = "" or $lsavtypemateriel = "" or $lsavnumserie = "" or $lsavmotif = "" or $lsavnomtech = "" Then
   MsgBox (64, "Information", "Vous avez oublié de renseigner un ou plusieurs élements du formulaire, Merci de bien remplir tout les champs.", 3)
Else
;Modification du fichier entrée sortie stock==============================================================================================================================================================================================
Local $oAppl = _Excel_Open(False, Default, Default, Default)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xls";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
;==========================================================================================
; Colonne MAGASIN
$oAppl.Sheets(3).Range("A1").Select ;positionner sur Feuille "SAV" en A1
For $i = 1 To 65536   ;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets(3).Cells($i,1).Value
   If $aResult = "" Then;cherche cell vide sur la colonne 1
      $bResult = $oAppl.Sheets(3).Cells($i,1).Address
      ExitLoop
   EndIf
Next
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsavmagasin ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
;Colonne Modèle
$oAppl.Sheets(3).Range("B1").Select ;positionner sur Feuille 2 en D1
For $i = 1 To 65536 ;boucle sur la colonne 4
   Local $aResult = $oAppl.Sheets(3).Cells($i,2).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 4
	  $bResult = $oAppl.Sheets(3).Cells($i,2).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsavtypemateriel ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
;Colonne Numéro de Serie
$oAppl.Sheets(3).Range("C1").Select ;positionner sur Feuille 2 en F1
For $i = 1 To 65536 ;boucle sur la colonne 6
   Local $aResult = $oAppl.Sheets(3).Cells($i,3).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 6
	  $bResult = $oAppl.Sheets(3).Cells($i,3).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsavnumserie ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
;Colonne Diagnostique
$oAppl.Sheets(3).Range("D1").Select ;positionner sur Feuille 2 en G1
For $i = 1 To 65536 ;boucle sur la colonne 7
   Local $aResult = $oAppl.Sheets(3).Cells($i,4).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 7
	  $bResult = $oAppl.Sheets(3).Cells($i,4).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsavmotif ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
;Colonne Date d'entree
$oAppl.Sheets(3).Range("E1").Select ;positionner sur Feuille 2 en H1
For $i = 1 To 65536 ;boucle sur la colonne 8
   Local $aResult = $oAppl.Sheets(3).Cells($i,5).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 8
	  $bResult = $oAppl.Sheets(3).Cells($i,5).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $ldate ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
;Colonne Traité par
$oAppl.Sheets(3).Range("G1").Select ;positionner sur Feuille 2 en I1
For $i = 1 To 65536 ;boucle sur la colonne 9
   Local $aResult = $oAppl.Sheets(3).Cells($i,7).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 9
	  $bResult = $oAppl.Sheets(3).Cells($i,7).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lsavnomtech ,$bResult)
$oAppl.Sheets(3).Select
;==========================================================================================
MsgBox (64, "Information", "Fichier E/S renseigné!", 3)
;Fermeture et Sauvegarde fichier Excel
_Excel_BookClose ($oWorkbook)
_Excel_Close($oWorkbook)
;==========================================================================================
EndIf
		Case $boutonQuitter2
			Exit
;~ ONGLET REBUT==========================================================================================================================================================================================================================================================
		Case $Boutonrebut
; Lecture des variables
$lrebuttypemateriel = GUICtrlRead($rebuttypemateriel)
$lrebutnumserie = GUICtrlRead ($rebutnumserie)
$lrebutmotif = GUICtrlRead ($rebutmotif)
$ldate = GUICtrlRead ($Date1)
$lrebutnomtech = GUICtrlRead ($rebutnomtech)
; condition remplir TOUT le formulaire
If $lrebuttypemateriel = "" or $lrebutnumserie = "" or $lrebutmotif = "" or $lrebutnomtech = "" Then
   MsgBox (64, "Information", "Vous avez oublié de renseigner un ou plusieurs élements du formulaire, Merci de bien remplir tout les champs.", 3)
Else
;Modification du fichier entrée sortie stock==============================================================================================================================================================================================
Local $oAppl = _Excel_Open(False, Default, Default, Default)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xls";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
;==========================================================================================
;Colonne Modèle
$oAppl.Sheets(4).Range("A1").Select ;positionner sur Feuille "REBUT" en A1
For $i = 1 To 65536 ;boucle sur la colonne 4
   Local $aResult = $oAppl.Sheets(4).Cells($i,1).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 1
	  $bResult = $oAppl.Sheets(4).Cells($i,1).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lrebuttypemateriel ,$bResult)
$oAppl.Sheets(4).Select
;==========================================================================================
;Colonne Numéro de Serie
$oAppl.Sheets(4).Range("B1").Select ;positionner sur Feuille 4 en B1
For $i = 1 To 65536 ;boucle sur la colonne 6
   Local $aResult = $oAppl.Sheets(4).Cells($i,2).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 2
	  $bResult = $oAppl.Sheets(4).Cells($i,2).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lrebutnumserie ,$bResult)
$oAppl.Sheets(4).Select
;==========================================================================================
;Colonne Motif
$oAppl.Sheets(4).Range("C1").Select ;positionner sur Feuille 4 en C1
For $i = 1 To 65536 ;boucle sur la colonne 7
   Local $aResult = $oAppl.Sheets(4).Cells($i,3).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 3
	  $bResult = $oAppl.Sheets(4).Cells($i,3).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lrebutmotif ,$bResult)
$oAppl.Sheets(4).Select
;==========================================================================================
;Colonne Date d'entree
$oAppl.Sheets(4).Range("D1").Select ;positionner sur Feuille 4 en D1
For $i = 1 To 65536 ;boucle sur la colonne 8
   Local $aResult = $oAppl.Sheets(4).Cells($i,4).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 4
	  $bResult = $oAppl.Sheets(4).Cells($i,4).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $ldate ,$bResult)
$oAppl.Sheets(4).Select
;==========================================================================================
;Colonne Traité par
$oAppl.Sheets(4).Range("E1").Select ;positionner sur Feuille 4 en E1
For $i = 1 To 65536 ;boucle sur la colonne 9
   Local $aResult = $oAppl.Sheets(4).Cells($i,5).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 5
	  $bResult = $oAppl.Sheets(4).Cells($i,5).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lrebutnomtech ,$bResult)
$oAppl.Sheets(4).Select
;==========================================================================================
MsgBox (64, "Information", "Fichier E/S renseigné!", 3)
;Fermeture et Sauvegarde fichier Excel
_Excel_BookClose ($oWorkbook)
_Excel_Close($oWorkbook)
;==========================================================================================
EndIf
		Case $boutonQuitter3
			Exit
;~ ONGLET RECEPTION======================================================================================================================================================================================================================================================
		Case $BoutonReception
; Lecture des variables
$lreceptiontypemateriel = GUICtrlRead($receptiontypemateriel)
$lreceptionnumserie = GUICtrlRead ($receptionnumserie)
$ldate = GUICtrlRead ($Date1)
$lreceptionnomtech = GUICtrlRead ($receptionnomtech)
; condition remplir TOUT le formulaire
If $lreceptiontypemateriel = "" or $lreceptionnumserie = "" or $lreceptionnomtech = "" Then
   MsgBox (64, "Information", "Vous avez oublié de renseigner un ou plusieurs élements du formulaire, Merci de bien remplir tout les champs.", 3)
Else
;Modification du fichier entrée sortie stock==============================================================================================================================================================================================
Local $oAppl = _Excel_Open(False, Default, Default, Default)
Local $sWorkbook = @ScriptDir & "\SUIVISSTOCKSAV.xls";chemin à mettre à jour
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
;==========================================================================================
;Colonne Modèle
$oAppl.Sheets(5).Range("A1").Select ;positionner sur Feuille 5 en A1
For $i = 1 To 65536 ;boucle sur la colonne 1
   Local $aResult = $oAppl.Sheets(5).Cells($i,1).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 1
	  $bResult = $oAppl.Sheets(5).Cells($i,1).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lreceptiontypemateriel ,$bResult)
$oAppl.Sheets(5).Select
;==========================================================================================
;Colonne Numéro de Serie
$oAppl.Sheets(5).Range("B1").Select ;positionner sur Feuille 5 en B1
For $i = 1 To 65536 ;boucle sur la colonne 2
   Local $aResult = $oAppl.Sheets(5).Cells($i,2).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 2
	  $bResult = $oAppl.Sheets(5).Cells($i,2).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lreceptionnumserie ,$bResult)
$oAppl.Sheets(5).Select
;==========================================================================================
;Colonne Date de réception
$oAppl.Sheets(5).Range("C1").Select ;positionner sur Feuille 5 en C1
For $i = 1 To 65536 ;boucle sur la colonne 3
   Local $aResult = $oAppl.Sheets(5).Cells($i,3).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 3
	  $bResult = $oAppl.Sheets(5).Cells($i,3).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $ldate ,$bResult)
$oAppl.Sheets(5).Select
;==========================================================================================
;Colonne Traité par
$oAppl.Sheets(5).Range("D1").Select ;positionner sur Feuille 5 en D1
For $i = 1 To 65536 ;boucle sur la colonne 4
   Local $aResult = $oAppl.Sheets(5).Cells($i,4).Value
   If $aResult = "" Then ;recherche cellule vide sur la colonne 5
	  $bResult = $oAppl.Sheets(5).Cells($i,4).Address
   ExitLoop
EndIf
Next
 _Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $lreceptionnomtech ,$bResult)
$oAppl.Sheets(5).Select
;==========================================================================================
MsgBox (64, "Information", "Fichier E/S renseigné!", 3)
;Fermeture et Sauvegarde fichier Excel
_Excel_BookClose ($oWorkbook)
_Excel_Close($oWorkbook)
;==========================================================================================
EndIf
		Case $boutonQuitter4
			Exit
	EndSwitch
WEnd
Voici le nouveau fichier excel:
https://onedrive.live.com/redir?resid=6 ... file%2cxls
yblis
Niveau 1
Niveau 1
Messages : 14
Enregistré le : dim. 03 avr. 2016 15:42
Status : Hors ligne

Re: Entree sortie matériels informatique

#12

Message par yblis »

Bon j'ai réglé mon problème précédent en faisant plusieurs fichier excel (un entrée, un sortie, un sav etc...), car a mon avis c'était dû à un beug je pense.
:D
Par contre, (il y a toujours un mais...) :twisted:

j'ai créé un fichier "en attente.xls" et je souhaiterai que mon programme dise en gros:

Si dans mon fichier "entrée.xls" j'ai une ligne en B C D qui n'existe pas dans mon fichier "sortie.xls",
rajouter dans le fichier "en attente.xls" une ligne avec correspondant au premier fichier en lui mettant "matériel en attente .
Et une fois fait et que j'ai rentrée le matériel avec mon programme, ça supprime la ligne correspondante...

je sais pas si c'est compréhensible, mais c'est compliqué à expliquer... :oops:
Répondre