Lecture de classeur excel fermé
Résolu
Coco334
-
juste merci -
juste merci -
Bonjour,
Je voudrais faire une macro qui lis une feuille Excel fermée et qui calcule l'écart type d'une plage de donnée de cette feuille pour l'écrire dans la feuille ouverte avec laquelle je cré ma macro. Je débute en VBA et ce problème ne m'a pas l'air simple, est ce que vous auriez des idées ou des suggestions.
Merci d'avance
Je voudrais faire une macro qui lis une feuille Excel fermée et qui calcule l'écart type d'une plage de donnée de cette feuille pour l'écrire dans la feuille ouverte avec laquelle je cré ma macro. Je débute en VBA et ce problème ne m'a pas l'air simple, est ce que vous auriez des idées ou des suggestions.
Merci d'avance
A voir également:
- Lecture de classeur excel fermé
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Confirmation de lecture whatsapp - Guide
- Accusé de lecture gmail - Guide
- Déplacer colonne excel - Guide
4 réponses
ci desous exemple extraction fichier fermé avec technologie ADO
les 2 classeurs sont dans le m^me dossier et ion extrait du classeur "depart" en "feuil1" les cellules B2 à B1000 vers le classeur ouvert avec un début en C3 .
les 2 classeurs sont dans le m^me dossier et ion extrait du classeur "depart" en "feuil1" les cellules B2 à B1000 vers le classeur ouvert avec un début en C3 .
Sub extraire_ado() Dim Source As Object, Requete As Object Dim chemin As String Dim Onglet As String, Plage As String Dim Texte_SQL As String chemin = ThisWorkbook.Path fichier = "depart.xls" Onglet = "feuil1" Onglet = Onglet & "$" Plage = "B2:B10000" Set Source = CreateObject("ADODB.Connection") Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & chemin & "\" & fichier & ";Extended Properties=""Excel 8.0;HDR=No;"";" Texte_SQL = "SELECT * FROM [" & Onglet & Plage & "]" Set Requete = CreateObject("ADODB.Recordset") Set Requete = Source.Execute(Texte_SQL) Range("C3").CopyFromRecordset Requete Requete.Close Set Requete = Nothing Source.Close Set Source = Nothing End Sub
Bonjour, tu ne débutes pas par le plus aisé!...
cette macro, dite de Walkenbach pourrait être une piste
Sub lire_ferme()
Dim chemin As String
chemin = ThisWorkbook.Path
Range("A3") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R1C1")
Range("B4") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R2C2")
Range("C8") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R5C3")
Range("E9") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R7C4")
End Sub
elle extrait dans ton classeur ouvert les cellules de la feuil1 A1 (R1C1)en A3, B2(R2C2) en B4 etc.
tu pourrais traiter cela par une boucle si tes cellules sont jointives
for cptr=1 to...
cells(cptr,1) = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R" & cptr & "C1")
sinon, le mieux est d' utiliser ADO si tu as beaucoup de données, mais...
cette macro, dite de Walkenbach pourrait être une piste
Sub lire_ferme()
Dim chemin As String
chemin = ThisWorkbook.Path
Range("A3") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R1C1")
Range("B4") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R2C2")
Range("C8") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R5C3")
Range("E9") = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R7C4")
End Sub
elle extrait dans ton classeur ouvert les cellules de la feuil1 A1 (R1C1)en A3, B2(R2C2) en B4 etc.
tu pourrais traiter cela par une boucle si tes cellules sont jointives
for cptr=1 to...
cells(cptr,1) = ExecuteExcel4Macro("'" & chemin & "\[source.xls]Feuil1'!R" & cptr & "C1")
sinon, le mieux est d' utiliser ADO si tu as beaucoup de données, mais...
même avec plusieurs mois de retard... ça vient de me débloquer mon pb et je pense de me faire gagner un temps fou !!!