Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : VBS - Récuperer la valeur d'une cellule excel [ Langages dérivés / VBScript ] (didieraucun)

jeudi 27 décembre 2007 à 23:04:01 | VBS - Récuperer la valeur d'une cellule excel

didieraucun

Bonsoir,
J'ai créer un fichier VBS pour remplir automatiquement des champs d'un logiciel
Comment faire pour récupérer la valeur d'une cellule d'un fichier Excel ?
 


set shell = WScript.CreateObject("WScript.Shell" )
shell.AppActivate "Easy Access"
WScript.Sleep(3000)  ' Attendre 3 secondes
shell.SendKeys "ZZ30"
shell.SendKeys "~"
WScript.Sleep(2000)  ' Attendre 2 secondes
shell.SendKeys "{DEL}{DEL}{DEL}"
shell.SendKeys "120"
shell.SendKeys "{DOWN}{DOWN}{DOWN}"
shell.SendKeys "76500"
shell.SendKeys "~"
WScript.Sleep(2000)  ' Attendre 2 secondes
shell.SendKeys "{TAB}"
shell.SendKeys "ACC{TAB}"
shell.SendKeys valeur_cellule_excel 'Valeur de la cellule A1 du fichier Toto.xls




dimanche 30 décembre 2007 à 19:11:57 | Re : VBS - Récuperer la valeur d'une cellule excel

JMO

Membre Club
Réponse acceptée !


 Bonsoir,


Si le fichier Toto.xls ne comporte qu'un onglet:

shell.SendKeys "{TAB}"
shell.SendKeys "ACC{TAB}"
shell.SendKeys ShowCellExcel()



Function ShowCellExcel()
Dim objExcel, objClasseur, ExcelFile, strCell
ExcelFile = "C:\Toto.xls"
Set objExcel = CreateObject("Excel.Application")
Set objClasseur = objExcel.WorkBooks.Open(ExcelFile)
objExcel.DisplayAlerts = False
objExcel.Application.Visible = False
strCell = objExcel.Worksheets(1).Cells(1, 1).Value
objExcel.Quit
Set objExcel = Nothing
Set objClasseur = Nothing
ShowCellExcel = strCell
End Function



jean-marc

dimanche 30 décembre 2007 à 20:20:40 | Re : VBS - Récuperer la valeur d'une cellule excel

didieraucun

Merci Jean marc

Et si je souhaite récuperer d'autres valeurs de cellule A1, D4 et F6
je repete 3 fois le sous programme Function ShowCellExcel()



dimanche 30 décembre 2007 à 20:53:01 | Re : VBS - Récuperer la valeur d'une cellule excel

JMO

Membre Club


Re,

Il suffit de passer la cellule (ligne et colonne) en paramètre.

MsgBox  ShowCellExcel(1,2),,"B1"
MsgBox  ShowCellExcel(5,4),,"D5"
MsgBox  ShowCellExcel(10,6),,"F10"


Function ShowCellExcel(Ligne,Colonne)
Dim objExcel, objClasseur, ExcelFile, strCell
ExcelFile = "C:\Toto.xls"
Set objExcel = CreateObject("Excel.Application")
Set objClasseur = objExcel.WorkBooks.Open(ExcelFile)
objExcel.DisplayAlerts = False
objExcel.Application.Visible = False
strCell = objExcel.Worksheets(1).Cells(Ligne,Colonne).Value
objExcel.Quit
Set objExcel = Nothing
Set objClasseur = Nothing
ShowCellExcel = strCell
End Function



jean-marc

dimanche 30 décembre 2007 à 21:12:27 | Re : VBS - Récuperer la valeur d'une cellule excel

JMO

Membre Club


Re,

Evidemment, il est inutile d'appeler trois fois la fonction (ouvrir/fermer le même fichier toto.xls).


shell.SendKeys "{TAB}"
shell.SendKeys "ACC{TAB}"


Dim objExcel, objClasseur, ExcelFile
ExcelFile = "C:\Toto.xls"
Set objExcel = CreateObject("Excel.Application")
Set objClasseur = objExcel.WorkBooks.Open(ExcelFile)
objExcel.DisplayAlerts = False
objExcel.Application.Visible = False

shell.SendKeys objExcel.Worksheets(1).Cells(1,1).Value
shell.SendKeys objExcel.Worksheets(1).Cells(4,4).Value
shell.SendKeys objExcel.Worksheets(1).Cells(6,6).Value

objExcel.Quit
Set objExcel = Nothing
Set objClasseur = Nothing


jean-marc

dimanche 30 décembre 2007 à 21:21:43 | Re : VBS - Récuperer la valeur d'une cellule excel

didieraucun

J'ai modifié comme suit pour ne faire qu'un accès au fichier excel :

set shell = WScript.CreateObject("WScript.Shell")
shell.Run "notepad.exe"

Dim objExcel, objClasseur, ExcelFile, strCell_B1, strCell_D5, strCell_F10
ExcelFile = "C:\Toto.xls"
Set objExcel = CreateObject("Excel.Application")
Set objClasseur = objExcel.WorkBooks.Open(ExcelFile)
objExcel.DisplayAlerts = False
objExcel.Application.Visible = False
strCell_B1 = objExcel.Worksheets(1).Cells(1,2).Value
strCell_D5 = objExcel.Worksheets(1).Cells(5,4).Value
strCell_F10 = objExcel.Worksheets(1).Cells(10,6).Value
objExcel.Quit
Set objExcel = Nothing
Set objClasseur = Nothing

shell.SendKeys strCell_B1
shell.SendKeys "{TAB}"
shell.SendKeys strCell_D5
shell.SendKeys "{TAB}"
shell.SendKeys strCell_F10


Peut etre encore à amélioré

dimanche 30 décembre 2007 à 21:24:30 | Re : VBS - Récuperer la valeur d'une cellule excel

didieraucun

Nos réponse se sont croisées

dimanche 30 décembre 2007 à 21:26:02 | Re : VBS - Récuperer la valeur d'une cellule excel

didieraucun

Nos réponses se sont croisées



Cette discussion est classé dans : valeur, shell, cellule, wscript, sendkeys


Répondre à ce message

Sujets en rapport avec ce message

Problème ouverture fichier [ par JMO ] Bonjour,En VBS, je veux ouvrir/éditer/fermer des fichiers.Ma proc marche si je n'ai pas d'espace dans le nom du répertoire et dans le nom du fichier.Q dépassement d'une valeur [ par zitoun ] Bonjour à tous,Dans une cellule EXcel, j'aimerai limiter la valeur d'une cellule à 125. Cependant, un calcul est fait dans cette cellule, que puis je bug avec le shell [ par lutinpitchoune ] Salut à tous et toutes,j'ai un problème...Je veux automatiser l'execution d'un programme tournant dans une session MS Dos sous windows depuis mon appl shell et sendkeys sont méchants avec moi [ par lutinpitchoune ] Mon problème est simple à la base : Je veux piloter depuis mon application excel, un programme qui tourne dansune session dos sous windows. En fait je Récuperation de valeur [ par ESC ] Je veux lancer grace à la commande shell une commande ms-dos du style "ping 127.0.0.1"Je voudrais récupérer le résultat soit dans une variable, soit d problème de formule avec vba excel [ par hervé ] je souhaiterais intégrer, une valeur de variable d'une cellule excel (exemple : la valeur de la cellule B5), dans une formule que je rentre dans une a BrowseForFolder [ par Linkman ] Voilà je voudré faire cela mais en VB normalcopié le script suivant ds notepad et enregistré sous vbsMerci !!!Set WSHShell = WScript.CreateObject("WSc gestion de fichiers [ par Dricc4 ] Bonjour,J'aurais besoin d'un script qui me permette de lire dans une colonne EXEL la valeur de chaque cellule et qui permet de créer automatiquement u Comment récuperé une valeur dans une Cells Exel? [ par CBTech ] ThierryBonjour à TousJ'expose mon problème je ne sais pas comment récupérer une valeur qui est affiché dans une cellule d'un fichier Excel pour la rec o secours!!! [ par papaours ] salut voila j'ai une variable prenant la valeur d'une cellule d'excel, cette cellule est au format texte.que je teste la valeur avec un .value ou pas


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.