IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment générer un fichier pré-formaté en cliquant sur un bouton ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Par défaut Comment générer un fichier pré-formaté en cliquant sur un bouton ?
    Bonjour,

    Désolé de reposter mais je pense avoir posté au mauvais endroit la première fois...

    je souhaiterais à partir d'une feuille Excel contenant des Nom d'équipements et leur adresses IP associées générer un fichier de configuration pour un utilitaire (Puty).

    A partir d'une feuille Excel contenant une liste de Host, formatée de cette manière : NomHost | @IP | login | pwd | typeconnexion

    J'aimerais en cliquant sur un bouton générer un fichier de configuration contenant autant de paragraphes que de host listé ci dessus.
    En exemple ci-dessous, voici le formatage de ces pargraphes.

    Pourriez-vous m'aider à réaliser ce script VBA par des exemples de macro, conseils ou autre...

    Merci d'avance,

    bzh

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\HOST1]
    "Present"=dword:00000001
    "HostName"="HOST1"
    "LogFileName"="putty.log"
    "LogType"=dword:00000000
    "LogFileClash"=dword:ffffffff
    "Protocol"="ssh"
    "PortNumber"=dword:00000016
    "CloseOnExit"=dword:00000001
    "WarnOnClose"=dword:00000001
    "PingInterval"=dword:00000000
    "PingIntervalSecs"=dword:00000000
    "TCPNoDelay"=dword:00000001
    "TerminalType"="xterm"
    "TerminalSpeed"="38400,38400"
    "ProxyExcludeList"=""
    "ProxyType"=dword:00000000
    "ProxyHost"="proxy"
    "ProxyPort"=dword:00000050
    "ProxyUsername"=""
    "ProxyPassword"=""
    "ProxyTelnetCommand"="connect %host %port\\n"
    "ProxySOCKSVersion"=dword:00000005
    "Environment"=""
    "UserName"=""
    "LocalUserName"=""
    "NoPTY"=dword:00000000
    "Compression"=dword:00000000
    "AgentFwd"=dword:00000000
    "ChangeUsername"=dword:00000000
    "Cipher"="aes,blowfish,3des,WARN,des,arcfour"
    "AuthTIS"=dword:00000000
    "AuthKI"=dword:00000001
    "SshProt"=dword:00000001
    "SSH2DES"=dword:00000000
    "PublicKeyFile"=""
    "RemoteCommand"=""
    "RFCEnviron"=dword:00000000
    "PassiveTelnet"=dword:00000000
    "BackspaceIsDelete"=dword:00000001
    "RXVTHomeEnd"=dword:00000000
    "LinuxFunctionKeys"=dword:00000000
    "NoApplicationKeys"=dword:00000000
    "NoApplicationCursors"=dword:00000000
    "NoMouseReporting"=dword:00000000
    "NoRemoteResize"=dword:00000000
    "NoAltScreen"=dword:00000000
    "NoRemoteWinTitle"=dword:00000000
    "NoDBackspace"=dword:00000000
    "NoRemoteCharset"=dword:00000000
    "ApplicationCursorKeys"=dword:00000000
    "ApplicationKeypad"=dword:00000000
    "NetHackKeypad"=dword:00000000
    "AltF4"=dword:00000001
    "AltSpace"=dword:00000000
    "AltOnly"=dword:00000000
    "ComposeKey"=dword:00000000
    "CtrlAltKeys"=dword:00000001
    "TelnetKey"=dword:00000000
    "TelnetRet"=dword:00000001
    "LocalEcho"=dword:00000002
    "LocalEdit"=dword:00000002
    "Answerback"="PuTTY"
    "AlwaysOnTop"=dword:00000000
    "FullScreenOnAltEnter"=dword:00000000
    "HideMousePtr"=dword:00000000
    "SunkenEdge"=dword:00000000
    "WindowBorder"=dword:00000001
    "CurType"=dword:00000000
    "BlinkCur"=dword:00000000
    "Beep"=dword:00000001
    "BeepInd"=dword:00000000
    "BellWaveFile"=""
    "BellOverload"=dword:00000001
    "BellOverloadN"=dword:00000005
    "BellOverloadT"=dword:000007d0
    "BellOverloadS"=dword:00001388
    "ScrollbackLines"=dword:00001388
    "DECOriginMode"=dword:00000000
    "AutoWrapMode"=dword:00000001
    "LFImpliesCR"=dword:00000000
    "WinNameAlways"=dword:00000000
    "WinTitle"=""
    "TermWidth"=dword:00000078
    "TermHeight"=dword:00000032
    "Font"="Courier New"
    "FontIsBold"=dword:00000000
    "FontCharSet"=dword:00000000
    "FontHeight"=dword:0000000a
    "FontVTMode"=dword:00000004
    "TryPalette"=dword:00000000
    "BoldAsColour"=dword:00000001
    "Colour0"="0,0,0"
    "Colour1"="0,0,0"
    "Colour2"="255,255,255"
    "Colour3"="85,85,85"
    "Colour4"="0,255,0"
    "Colour5"="0,0,0"
    "Colour6"="0,0,0"
    "Colour7"="85,85,85"
    "Colour8"="187,0,0"
    "Colour9"="255,85,85"
    "Colour10"="85,255,85"
    "Colour11"="0,187,0"
    "Colour12"="187,187,0"
    "Colour13"="255,255,85"
    "Colour14"="0,0,187"
    "Colour15"="85,85,255"
    "Colour16"="187,0,187"
    "Colour17"="255,85,255"
    "Colour18"="0,187,187"
    "Colour19"="85,255,255"
    "Colour20"="255,255,255"
    "Colour21"="187,187,187"
    "RawCNP"=dword:00000000
    "PasteRTF"=dword:00000000
    "MouseIsXterm"=dword:00000000
    "RectSelect"=dword:00000000
    "MouseOverride"=dword:00000001
    "Wordness0"="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"
    "Wordness32"="0,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1"
    "Wordness64"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2"
    "Wordness96"="1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1"
    "Wordness128"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
    "Wordness160"="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
    "Wordness192"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
    "Wordness224"="2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2"
    "LineCodePage"="ISO-8859-15:1999 (Latin-9, \"euro\")"
    "Printer"=""
    "CapsLockCyr"=dword:00000000
    "ScrollBar"=dword:00000001
    "ScrollBarFullScreen"=dword:00000000
    "ScrollOnKey"=dword:00000000
    "ScrollOnDisp"=dword:00000001
    "LockSize"=dword:00000000
    "BCE"=dword:00000001
    "BlinkText"=dword:00000000
    "X11Forward"=dword:00000000
    "X11Display"="localhost:0"
    "LocalPortAcceptAll"=dword:00000000
    "RemotePortAcceptAll"=dword:00000000
    "PortForwardings"=""
    "BugIgnore1"=dword:00000000
    "BugPlainPW1"=dword:00000000
    "BugRSA1"=dword:00000000
    "BugHMAC2"=dword:00000000
    "BugDeriveKey2"=dword:00000000
    "BugRSAPad2"=dword:00000000
    "BugDHGEx2"=dword:00000000
    "LogFlush"=dword:00000001
    "SSHLogOmitPasswords"=dword:00000001
    "SSHLogOmitData"=dword:00000000
    "TCPKeepalives"=dword:00000000
    "TerminalModes"="INTR=A,QUIT=A,ERASE=A,KILL=A,EOF=A,EOL=A,EOL2=A,START=A,STOP=A,SUSP=A,DSUSP=A,REPRINT=A,WERASE=A,LNEXT=A,FLUSH=A,SWTCH=A,STATUS=A,DISCARD=A,IGNPAR=A,PARMRK=A,INPCK=A,ISTRIP=A,INLCR=A,IGNCR=A,ICRNL=A,IUCLC=A,IXON=A,IXANY=A,IXOFF=A,IMAXBEL=A,ISIG=A,ICANON=A,XCASE=A,ECHO=A,ECHOE=A,ECHOK=A,ECHONL=A,NOFLSH=A,TOSTOP=A,IEXTEN=A,ECHOCTL=A,ECHOKE=A,PENDIN=A,OPOST=A,OLCUC=A,ONLCR=A,OCRNL=A,ONOCR=A,ONLRET=A,CS7=A,CS8=A,PARENB=A,PARODD=A,"
    "AddressFamily"=dword:00000000
    "ProxyDNS"=dword:00000001
    "ProxyLocalhost"=dword:00000000
    "ProxyMethod"=dword:00000000
    "TryAgent"=dword:00000001
    "KEX"="dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,WARN"
    "RekeyTime"=dword:0000003c
    "RekeyBytes"="1G"
    "SshNoAuth"=dword:00000000
    "SshNoShell"=dword:00000000
    "RemoteQTitleAction"=dword:00000001
    "DisableArabicShaping"=dword:00000000
    "DisableBidi"=dword:00000000
    "FontQuality"=dword:00000000
    "UseSystemColours"=dword:00000000
    "ANSIColour"=dword:00000001
    "Xterm256Colour"=dword:00000001
    "CJKAmbigWide"=dword:00000000
    "UTFverride"=dword:00000001
    "EraseToScrollback"=dword:00000001
    "X11AuthType"=dword:00000001
    "BugPKSessID2"=dword:00000000
    "BugRekey2"=dword:00000000
    "StampUtmp"=dword:00000001
    "LoginShell"=dword:00000001
    "ScrollbarOnLeft"=dword:00000000
    "BoldFont"=""
    "BoldFontIsBold"=dword:00000002
    "BoldFontCharSet"=dword:0012ce40
    "BoldFontHeight"=dword:00000004
    "WideFont"=""
    "WideFontIsBold"=dword:004422fd
    "WideFontCharSet"=dword:00000002
    "WideFontHeight"=dword:000000ac
    "WideBoldFont"=""
    "WideBoldFontIsBold"=dword:00000000
    "WideBoldFontCharSet"=dword:004422fd
    "WideBoldFontHeight"=dword:0012ce38
    "ShadowBold"=dword:00000000
    "ShadowBoldOffset"=dword:00000001
    "SerialLine"="COM1"
    "SerialSpeed"=dword:00002580
    "SerialDataBits"=dword:00000008
    "SerialStopHalfbits"=dword:00000002
    "SerialParity"=dword:00000000
    "SerialFlowControl"=dword:00000001

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\HOST2]
    .
    .
    .
    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\HOST3]
    etc.......

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    écris un fichier valable pour un Host
    remplace le nom par une variable %MONHOST% par exemple.

    Ensuite tu peux faire une boucle
    Récupérer le texte du fichier
    Remplacer %MONHOST% par le nom du host
    Créer un fichier avec ce texte

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Par défaut
    Merci pour votre réponse, auriez-vous un exemple de code ? ...je ne suis pas fortiche en VBA.

    Merci et bonne journée,

    BZH

  4. #4
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Oui, j'ai ça en magasin

    donc si ton fichier modèle c'est : c:\temp\template config.txt

    tu références le filesystemobject (Microsoft Scripting Runtime)

    tableauHosts() est une variable tableau qui contient tous tes hosts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim fso As FileSystemObject
    Dim fic As TextStream, ficNew As TextStream
    Dim s As String, Dim i As Long
     
    For i = LBound(tableauHosts) To UBound(tableauHosts)
        Set fso = New FileSystemObject
        Set fic = fso.OpenTextFile("c:\temp\template config.txt")
        s = fic.ReadAll
        s = Replace(s, "%MONHOST%", tableauHosts(i))
        Set ficNew = fso.CreateTextFile("c:\temp\template config " & tableauHosts(i) & ".txt", True)
        ficNew.Write s
    next i
    Set fso = Nothing
    Set fic = Nothing
    Set ficNew = Nothing

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 8
    Par défaut
    Ok et merci, c'est sympha.

    Donc en cherchant un peut, j'ai bien référencé le filesystemobject (Microsoft Scripting Runtime).
    Mais au lancement j'ai une "erreur d'execution '13' Imcompatibilité de type.

    Peux tu m'expliquer ce qu'est "tableauHosts" ? le nom de ma feuille ? le nom de ma collonne peut être ?

    Merci

    BZH

  6. #6
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Le truc c'est que j'ignore sous quelle forme tu récupères ta liste de hosts.
    Donc TableauHosts() est une variable tableau ... mais ce code - à visée pédagogique - est à adapter à ton cas.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/06/2007, 14h35
  2. Réponses: 2
    Dernier message: 14/03/2006, 14h22
  3. Réponses: 3
    Dernier message: 12/10/2005, 13h53
  4. Comment générer un fichier texte à partir d'un XML et XSL
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/07/2005, 22h42
  5. Réponses: 22
    Dernier message: 24/04/2005, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo