doublenico
XLDnaute Junior
Bonjour à tous,
Je dispose d'une macro qui me permet d'ouvrir et de fermer un par un chaque document à partir d'une liste dans mon document maître (1er doc en A1, 2eme en A2; 3eme en A3...)
Pour le moment j'ouvre toujours mes documents en lecture maus j'aurai besoin d'ouvrir mon fichier maître en modification sur mon serveur intranet.
Quand je prends un document en modification, je dois valider un formulaire IE en cliquant sur valider (cf : capture d ecran jointe) une fois mon document enregistrer et fermer.
Question : comment en VBA prendre la main sur cette page IE et "cliquer " sur valider?
Merci d'avance une nouvelle fois pour votre aide.
Pour info ma macro (obtenu grace à votre aide sur ce forum!)
Sub Ouverture()
Dim a As Variant, Nom As String
Nom = ActiveWorkbook.Name
' Columns("f:f").ClearContents
On Error GoTo suite
Application.ScreenUpdating = True
nbfich = Workbooks(Nom).Sheets(1).Range("b65536").End(xlUp).Row
lig = Workbooks(Nom).Sheets(1).Range("f65536").End(xlUp).Row 'position de la ligne recevant les données
If lig > 1 Then lig = lig + 1 'astuce pour utiliser la première ligne
For nbf = 1 To nbfich 'nombre de fichiers à ouvrir
a = Sheets(1).Cells(nbf, 2).Value 'noms des fichiers à ouvrir en feuille 1 colonne 2
Workbooks.Open a 'ouverture du fichier
Workbooks(Nom).Sheets(1).Cells(lig, 6) = Sheets(1).Cells(1, 1).Value 'exemple de traitement
'n = Len(a) - InStrRev(a, "\") 'recherche du slash
'b = Right(a, n) 'procédure pour connaitre le nom du fichier
If ActiveWorkbook.Name = Workbooks(Nom).Name Then GoTo plus
ActiveWorkbook.Close
plus: 'Workbooks(b).Close 'fermeture du fichier
Workbooks(Nom).Activate 'retour au fichier de commande
reprise:
lig = lig + 1 'incrémentation de la ligne
Next
Application.ScreenUpdating = True
Workbooks(Nom).Activate
Exit Sub
suite:
n = Len(a) - InStrRev(a, "\")
b = Right(a, n)
If Err.Number = 1004 Then MsgBox " Le fichier " & b & " n'est pas présent ICI : " & a
Resume Next: GoTo reprise
End Sub
Je dispose d'une macro qui me permet d'ouvrir et de fermer un par un chaque document à partir d'une liste dans mon document maître (1er doc en A1, 2eme en A2; 3eme en A3...)
Pour le moment j'ouvre toujours mes documents en lecture maus j'aurai besoin d'ouvrir mon fichier maître en modification sur mon serveur intranet.
Quand je prends un document en modification, je dois valider un formulaire IE en cliquant sur valider (cf : capture d ecran jointe) une fois mon document enregistrer et fermer.
Question : comment en VBA prendre la main sur cette page IE et "cliquer " sur valider?
Merci d'avance une nouvelle fois pour votre aide.
Pour info ma macro (obtenu grace à votre aide sur ce forum!)
Sub Ouverture()
Dim a As Variant, Nom As String
Nom = ActiveWorkbook.Name
' Columns("f:f").ClearContents
On Error GoTo suite
Application.ScreenUpdating = True
nbfich = Workbooks(Nom).Sheets(1).Range("b65536").End(xlUp).Row
lig = Workbooks(Nom).Sheets(1).Range("f65536").End(xlUp).Row 'position de la ligne recevant les données
If lig > 1 Then lig = lig + 1 'astuce pour utiliser la première ligne
For nbf = 1 To nbfich 'nombre de fichiers à ouvrir
a = Sheets(1).Cells(nbf, 2).Value 'noms des fichiers à ouvrir en feuille 1 colonne 2
Workbooks.Open a 'ouverture du fichier
Workbooks(Nom).Sheets(1).Cells(lig, 6) = Sheets(1).Cells(1, 1).Value 'exemple de traitement
'n = Len(a) - InStrRev(a, "\") 'recherche du slash
'b = Right(a, n) 'procédure pour connaitre le nom du fichier
If ActiveWorkbook.Name = Workbooks(Nom).Name Then GoTo plus
ActiveWorkbook.Close
plus: 'Workbooks(b).Close 'fermeture du fichier
Workbooks(Nom).Activate 'retour au fichier de commande
reprise:
lig = lig + 1 'incrémentation de la ligne
Next
Application.ScreenUpdating = True
Workbooks(Nom).Activate
Exit Sub
suite:
n = Len(a) - InStrRev(a, "\")
b = Right(a, n)
If Err.Number = 1004 Then MsgBox " Le fichier " & b & " n'est pas présent ICI : " & a
Resume Next: GoTo reprise
End Sub