Bonjour a tous J'ai un fichier excel dont les informations a extraire sont sur 2 lignes. exemple 1-DONNEE 28/06/2024 VRI Normal Oui 2-NINO112 3-DONNEE 28/06/2024 VRI Normal Oui 4-NINO112 Je souhaite enregistrer les lignes 1 et 2 dans ma table windev en une seule ligne exemple 1-DONNEE 28/06/2024 VRI Normal Oui NINO112 2-DONNEE 28/06/2024 VRI Normal Oui NINO112 Merci d'avance
Puisque c'est une ligne sur deux, si tu fais un petit effort de réflexion, tu devrais pouvoir t'en sortir sans nous. Mais tu préfères peut-être qu'un autre de mette la honte.
Salut Personnellement je me dit Je commence par Je met la ligne 1 et 2 dans une variable puis je fais une concaténation Puis je fais une boucle pour les autres lignes 2 à 2 Je vois déjà dans un champ table ou zr ce que ça donne. Ou sinon je réfléchis à mon algo. Mais comme dit Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! rien de compliqué.
Tu vois Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!, CQFD. Tu as de la chance : tu tombes sur popoy qui sait qu'il vaut mieux apprendre à pêcher plutôt que de filer du poisson. A toi de jouer, tu as toutes les billes.
// Function to read an Excel file and merge rows PROCEDURE MergeExcelRows(sFilePath) // Declare variables xlsDoc is object ExcelDocument xlsSheet is object ExcelWorksheet sRow1, sRow2, sCombined is string nRow, nMaxRow is int // Open the Excel file xlsDoc = ExcelOpen(sFilePath) IF ErrorOccurred THEN Error("Cannot open Excel file: " + sFilePath) RETURN END // Access the first sheet xlsSheet = xlsDoc.ExcelWorksheet(1) // Get the maximum number of rows nMaxRow = xlsSheet..NbRow // Loop through each row, stepping by 2 rows at a time nRow = 1 WHILE nRow <= nMaxRow // Read two consecutive rows sRow1 = xlsSheet.Cells[nRow, 1] sRow2 = xlsSheet.Cells[nRow + 1, 1] // Merge the rows sCombined = sRow1 + " " + sRow2 // Save the merged result in the table (replace YourTable with the actual table name) HReset(YourTable) YourTable.Data = sCombined HAdd(YourTable) // Move to the next pair of rows nRow += 2 END // Close the Excel file ExcelClose(xlsDoc) END Call Procedure MergeExcelRows("C:\path\to\your\file.xlsx")
Mem_SheetNumber is int = 1 EDT_XLSFile is string = "d:/test.xlsx" EDT_ExcelPassword is string IF Mem_SheetNumber = 0 THEN NextTitle(" WARNING ...!") Info("First, Please Input Worksheet Name") RETURN END // Open Excel MyExcel is xlsDocument MyExcel = xlsOpen(EDT_XLSFile,xlsWrite,EDT_ExcelPassword) IF ErrorOccurred = True THEN Info(ErrorInfo()) RETURN END // Change Active Sheet IF xlsCurrentWorksheet(MyExcel, Mem_SheetNumber) = True THEN //Change Worksheet Success ELSE Error("The selected file does not include worksheet : "+MyExcel..WorksheetName) RETURN END i is int=1 srow1 is string srow2 is string Maxnumber is int = MyExcel..NumberRow Combined is string MyCellXLS is string WHILE i <= Maxnumber MyCellXLS = "A"+i srow1 = MyExcel[xlsNameToCoordinates(MyCellXLS, xlsRowNum),xlsNameToCoordinates(MyCellXLS, xlsColumnNum)] i ++ MyCellXLS = "A"+i srow2 = MyExcel[xlsNameToCoordinates(MyCellXLS, xlsRowNum),xlsNameToCoordinates(MyCellXLS, xlsColumnNum)] Combined = srow1 + " " + srow2 Trace(Combined) // save to table i ++ END xlsClose(MyExcel)
Bonjour Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! retour chariot dans excel est represente par code ascii 10. ca sera plus simple si vous remplacez le Caract(10) par 1 espace blanc // L'exemple de Mr Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! sRow1 = xlsSheet.Cells[nRow, 1] // Merge the rows sCombined = Remplace( sRow1, Caract( 10 ), " ") // BonDev