Retour à la ligne dans une zone de texte

cs_krafft Messages postés 5 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 11:08
cs_krafft Messages postés 5 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 24 avril 2008 - 24 avril 2008 à 14:12
Bonjour a tous,

J'ai donc un classeur excel avec des cellules où j'ai des retours à la ligne. Quand je veux faire l'importation dans Access, tout fonctionne bien sauf qu'au lieu d'un retour à la ligne j'ai tout sur la même ligne avec un "carré" qui délimite mes différentes phrases.

Savez-vous comment supprimer cela pour que je retrouve un texte bien formaté stp ?

Merci d'avance.

<!-- / message -->

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2008 à 11:35
ces carrés sont des VbLf a remplacer par des VbCrLf
0
cs_krafft Messages postés 5 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 11:59
En fait j'ai une fonction (que j'ai récupérée) et qui fait cela

Public Function ChangeStr(strOriginal As Variant, strOldChar As String, strNewChar As String, intMatchCase As Integer) As Variant
   ' This function changes all substrings strOldChar in string strOriginal
   ' to strNewChar.
   ' The parameter intMatchCase has the same purpose as in the
   ' InStr() function, i.e. 1 makes the function case-sensitive, 0 does not
   Dim temp As String, pos As Integer
   temp = ""
   If IsNull(strOriginal) Then
      ChangeStr = Null
      Exit Function
   End If   If strOldChar "" Or strOriginal "" Then
      ChangeStr = strOriginal
      Exit Function
   End If


   pos = InStr(1, strOriginal, strOldChar, intMatchCase)
   While pos > 0
      temp = temp & Mid$(strOriginal, 1, pos - 1) & strNewChar
      strOriginal = Right$(strOriginal, Len(strOriginal) - pos - Len(strOldChar) + 1)
      pos = InStr(1, strOriginal, strOldChar, intMatchCase)
   Wend
   ChangeStr = temp & strOriginal
End Function

Donc dans ma configuration de ma table ACCESS, j'ai mis :
    Req_SQL "UPDATE Desc_Ch_audit_local SET Observations ChangeStr(Observations,&VbLf,&VbCrLf,0);"
    DoCmd.RunSQL Req_SQL

Il doit encore manquer qqch...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2008 à 12:05
la fonction VBA Replace existe deja
tu ne pourras pas le faire facilement via SQL

récupères tes enregistrement (Recordset) et mets a jour ceux-ci un a un
0
NHenry Messages postés 15151 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 septembre 2024 159
24 avril 2008 à 12:06
Bonjour

Un simple :
MaChaine=Replace(CahineSource,VbLf,VbCrLf)
suffit, pas besoin de fonction très complexe.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15151 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 septembre 2024 159
24 avril 2008 à 12:07
Bonjour

Renfield a été plus rapide (le cowboy c'est comme Lucky Luke ? tu es rapide )

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_krafft Messages postés 5 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 24 avril 2008
24 avril 2008 à 14:12
Merci pour ton aide, j'ai réussi à faire ce que je voulais en fait.

Je n'avais pas activé le WrapText sous mon document Excel donc :

        xlBook2.Sheets("Detail").Range("H2").WrapText = True

H2 étant ma cellule qui était sur 2 lignes (que je vais étendre à toute la colonne H). Et, dans mes requêtes SQL :
    Req_SQL "UPDATE Desc_Ch_audit_local SET [Observations] replace([Observations],chr(10),chr(13)&chr(10));"
    DoCmd.RunSQL Req_SQL

Et impeccable : je n'ai plus de carré sur ma feuille EXCEL, ni sur ma zone de texte sur ACCESS !
0
Rejoignez-nous