dbou76
Messages postés2Date d'inscriptionmardi 22 juin 2010StatutMembreDernière intervention29 novembre 2010
-
26 nov. 2010 à 16:25
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 2016
-
29 nov. 2010 à 15:14
J'enregistre un tableau Excel en mode txt.Pas de soucis sauf:
- quand la cellule contient un " (guillemet) ou une ,(virgule)
le texte est alors entouré avec des guillemets.
cs_loulou69
Messages postés672Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention 2 juin 20161 26 nov. 2010 à 17:09
Bonjour donc quand on le sait on prévient avant de guérir
Avant d'enregistrer le fichier excel en texte (événement BaforeSave) , on parcourt les cellules et on remplace les guillemets et virgules par d'autres caractères (exemple simple cote et point) qui sont acceptables pour l'utilisateur final.
Sub TraiterFeuilleAvantEnregistrer(Feuille)
Dim lastCol
Dim lastRow
Sheets(Feuille).Activate
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column
lastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).Row
For each Cell in ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select
Cell.Value = Replace(Cell.Value,Chr(34),"'")
Cell.Value = Replace(Cell.Value,",",".")
Next
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Call TraiterFeuilleAvantEnregistrer(Feuil1)
End Sub