OVH Cloud OVH Cloud

Travail avec 3 classeurs

1 réponse
Avatar
zalliel
Bonjour,

J'ouvre 2 classeurs dont je ne connais pas les noms, je créés un nouveau
classeur et je voudrais prendre certaines données sur les 2 classeurs et les
mettre sur le nouveau. J'ai vu cela

Dim objWorkbookSource As Workbook, objWorkbookCible As Workbook
objWorkbookSource = Application.Workbooks.Open(Application.GetOpenFilename)
objWorkbookCible = Application.Workbooks.Add

mais, des éléments m'échappe encore notamment au niveau des index des
classeurs ouverts
Dans ce cas on utilises des variables comme dans l'exemple ci dessous, mais
là il récupère le nom d'un fichier ouvert or dans mon cas j'ai 2 fichiers
ouvert.
Si je suis pas clair, merci de me le dire.
CDT
Phil

1 réponse

Avatar
RGI
Bonjour

si cela peut t'aider

pour que cela fonctionne, il faut créer un dossier test avec un fichier
test.xls et le tout dans le dossier de l'ActiveWorkbook
sinon modifier le chemin


dans un module normal

Function RECUP(Fichier As String, Feuille As String, _
Ligne As Long, Col As Integer)
With CreateObject("Excel.Application").Workbooks.Open(Fichier)
RECUP = .Worksheets(Feuille).Cells(Ligne, Col)
.Close False
End With
End Function


Sub entrer_des_donnees()
Dim chemin, classeur, ouvrir, classeuractuel
Application.ScreenUpdating = False
dercell = ActiveSheet.Cells(1, 1).End(xlUp).Address
Range(dercell).Select
Ligne = ActiveCell.Row
colonne = ActiveCell.Column
Cells(Ligne + 1, colonne).Activate
classeuractuel = ActiveSheet.Name
chemin = ActiveWorkbook.Path & "test"
classeur = "test.xls"
ouvrir = chemin & classeur
Sheets(classeuractuel).Activate
Application.ScreenUpdating = False
For i = 1 To 8
mavar = "=RECUP(" & Chr$(34) & ouvrir & Chr$(34) & "
,""feuil1"",1," & i & ")"
ActiveCell.FormulaR1C1 = mavar
ActiveCell = ActiveCell.Value
Cells(Ligne + 1, colonne + i).Activate
Next
Application.ScreenUpdating = True
Exit Sub
End Sub

salutations

Gilbert


Bonjour,

J'ouvre 2 classeurs dont je ne connais pas les noms, je créés un nouveau
classeur et je voudrais prendre certaines données sur les 2 classeurs et les
mettre sur le nouveau. J'ai vu cela

Dim objWorkbookSource As Workbook, objWorkbookCible As Workbook
objWorkbookSource = Application.Workbooks.Open(Application.GetOpenFilename)
objWorkbookCible = Application.Workbooks.Add

mais, des éléments m'échappe encore notamment au niveau des index des
classeurs ouverts
Dans ce cas on utilises des variables comme dans l'exemple ci dessous, mais
là il récupère le nom d'un fichier ouvert or dans mon cas j'ai 2 fichiers
ouvert.
Si je suis pas clair, merci de me le dire.
CDT
Phil