Récupérer des valeurs d'Excel pour renseigner des champs web
Bonjour,
J'ai pour projet de créer un tableau excel dans lequel je renseigne des champs (numéro de dossier, date début travaux et date fin travaux) par exemple.
J'aimerai qu'à partir de ces données, un script VBA puisse aller renseigner ces champs dans un site web.
En somme, j'ai 3 colonnes dans mon excel :
DOSSIER | DATE DEBUT TRAVAUX | DATE FIN TRAVAUX
Je renseigne dans DOSSIER un numéro (sous la forme XX/XXXXXX) et dans les dates, une date du type 27/01/2016.
J'aimerai que la macro lance le site web en question (ça j'y arrive), qu'elle renseigne dans un champ INPUT de ce site le numéro de dossier, valider pour me rediriger vers le dossier concerné et ensuite cliquer sur des liens pour aller renseigner les 2 champs date.
J'espère avoir été assez clair, ce n'est pas évident de l'expliquer comme ça donc n'hésitez pas à poser vos questions.
Pour info, je n'ai pas de grosses connaissances dans excel et VBA, j'ai tenté de créer ce que je voulais en récupérant des éléments à droite à gauche mais je n'y arrive pas !
Voici un exemple de ce que j'ai fait pour le moment :
J'ai dans ma feuille "IEP" créé mon tableau comme cité plus haut.
Le code VBA est le suivant :
Sub PremierIE()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim numAffaire As String
Dim Classeur As Workbook
Dim Feuille As Worksheet
Dim nbligne, ligne As Integer
Const colNUMAFF = 1
Const colDBTTRVX = 2
Const colFINTRVX = 3
Const colAMEOPREV = 4
Set Classeur = ThisWorkbook
Set Feuille = Classeur.Worksheets("IEP")
'Chargement du site
IE.navigate "http://monsite.fr"
'Affichage de la fenêtre IE
IE.Visible = True
'On libère la variable IE
Set IE = Nothing
'***** RECHERCHER AFFAIRE *****
IE.document.getElementById("RECH_CRITERES").Value = .Cells(ligne, colNUMAFF)
PauseTimer (2)
'***** PLANIFICATION *****
Call clicLien("Planification")
Call clicLien("MOAR")
IE.document.getElementById("AFF_DT_DEB_TRAV_P").Value = .Cells(ligne, colDBTTRVX) 'DEBUT DE TRAVAUX
IE.document.getElementById("AFF_DT_FIN_TRAV_P").Value = .Cells(ligne, colFINTRVX) 'FIN DE TRAVAUX
End SubJ'ai un bug au niveau de .Cells, voila où j'en suis .... Merci d'être indulgent
bonjour,
le point dans l'instruction .cells(x,y) suppose l'existence d'une instruction With préalable et End With qui indiquent avec quel objet on travaille,
dans ton code je suppose que tu veux faire référence aux cellules qui se trouve sur la feuille Feuille
tu pourrais modifier ton code ainsi
Sub PremierIE()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim numAffaire As String
Dim Classeur As Workbook
Dim Feuille As Worksheet
Dim nbligne, ligne As Integer
Const colNUMAFF = 1
Const colDBTTRVX = 2
Const colFINTRVX = 3
Const colAMEOPREV = 4
Set Classeur = ThisWorkbook
Set Feuille = Classeur.Worksheets("IEP")
With Feuille
'Chargement du site
IE.navigate "http://monsite.fr"
'Affichage de la fenêtre IE
IE.Visible = True
'On libère la variable IE
Set IE = Nothing
'***** RECHERCHER AFFAIRE *****
IE.document.getElementById("RECH_CRITERES").Value = .Cells(ligne, colNUMAFF)
PauseTimer (2)
'***** PLANIFICATION *****
Call clicLien("Planification")
Call clicLien("MOAR")
IE.document.getElementById("AFF_DT_DEB_TRAV_P").Value = .Cells(ligne, colDBTTRVX) 'DEBUT DE TRAVAUX
IE.document.getElementById("AFF_DT_FIN_TRAV_P").Value = .Cells(ligne, colFINTRVX) 'FIN DE TRAVAUX
End With
End Sub