Bonjour,
J'ai saisi un VBscript qui me permet d'ouvrir un 1er fichier Excel (Entree), de copier certaines données de ce fichier pour les transmettre à un second fichier (Sortie). le script fonctionne mais je ne comprend pas la restitution des données (plus accoutumé au VBA, je ne comprend pas pourquoi ce code fonctionne avec une restitution correcte sur Excel mais diffère avec le Fichier .VBS !)
Le code du script est le suivant :
Dim AppExc, tbl(889,4), tb1(12,3)
Set AppExc = CreateObject("Excel.Application")
Set wb = AppExc.Workbooks.Open("C:\Users\jean-luc\Desktop\Entree") 'adapter votre chemin pour tester
Set ws = wb.Worksheets(1)
Set wd = wb.Worksheets(2)
For i = 1 To 888
For j = 1 To 3
tbl(i, j) = ws.Cells(i, j)
Next
Next
For i = 1 To 11
For j = 1 To 2
tb1(i, j) = wd.Cells(i + 1, j + 1)
Next
Next
wb.Close
Set wd = Nothing
Set ws = Nothing
Set wb = Nothing
Set wb = AppExc.Workbooks.Open("C:\Users\jean-luc\Desktop\Sortie") 'adapter votre chemin pour tester
Set ws = wb.Worksheets(2)
Set wd = wb.Worksheets(3)
ws.range("A1").Resize(UBound(tbl, 1), UBound(tbl, 2)) = tbl
wd.range("A1").Resize(UBound(tb1, 1), UBound(tb1, 2)) = tb1
wb.Save
wb.Close
AppExc.Quit
Set wd = Nothing
Set ws = Nothing
Set wb = Nothing
Set AppExc = Nothing
Plus particulièrement, je ne comprend pas pourquoi en VBscript, je suis dans l'obligation d'augmenter les dimensions de mes tableaux lors de la déclaration pour pouvoir obtenir tous les résultats avec
Range("A1").resize...
, sans quoi il me manque tjrs une colonne et une ligne de résultat ?
Et aussi, je ne comprend pourquoi les résultats ne se copient pas en Range("A1") comme demandé mais en Range("B2") dans la réalité obtenue ? D’où viennent ces décalages
Peut-être pourriez vous svp m'aider à comprendre ? En Pj les fichiers Entree et Sortie, pour essayer vous pouvez adapter le chemin des fichiers sur script et enregistrer ce script depuis BlocNotes en .VBS
d'avance, merci...