Remplacer un caractère par sauts de ligne

Fermé
TravelTeam Messages postés 7 Date d'inscription lundi 28 septembre 2015 Statut Membre Dernière intervention 14 septembre 2016 - 6 sept. 2016 à 13:52
 Utilisateur anonyme - 14 sept. 2016 à 23:29
Bonjour,

Sous Access 2007, dans un champ mémo, je cherche à remplacer des * par des sauts de ligne et des / par des retours à la ligne.

Chez moi, la formule Remplacer([texte];"*";Car(13) & Car(10)) n'insère qu'un retour à la ligne au lieu du saut de ligne, pourquoi ?
Autre souci, ce retour à la ligne ne ressort pas ensuite dans les outils qui utilisent ces données alors que c'est bien le cas quand on met à la main Ctrl+entrée ?! Là trop de données à traiter pour le faire à la main...
Et enfin quel équivalent pour la modif en retour à la ligne ?


Merci pour vos lumières !

A voir également:

2 réponses

Utilisateur anonyme
13 sept. 2016 à 22:50
Bonsoir TravelTeam,

Essaye avec : vbLf au lieu de Car(13) & Car(10)
Si ça ne marche pas, essaye avec : Chr$(13) & Chr$(10)

C'est ce que j'utilise d'habitude avec VBA Excel, mais il me semble
que ça doit marcher aussi avec VBA Access.

Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».

Sinon, désolé : je n'ai pas d'autre idée.

Cordialement.  😊
 
0
TravelTeam Messages postés 7 Date d'inscription lundi 28 septembre 2015 Statut Membre Dernière intervention 14 septembre 2016
14 sept. 2016 à 17:06
Bonjour Albkan,

Je n'ai pas réussi via vbLf, et comme je débute je ne pense pas avoir la bonne méthode : Access m'a demandé d'entrer une valeur de paramètre pour vbLf mais en mettant Car(13) & Car(10) ou Chr$(13) & Chr$(10), il intègre ces données comme du texte...

En essayant avec Chr$(13) & Chr$(10), comme avec Car(13) & Car(10), seul un retour à la ligne s'intègre mais pas le saut de ligne attendu...
Si tu as d'autres idées, je suis preneuse !
Merci pour ton aide !
0
Utilisateur anonyme > TravelTeam Messages postés 7 Date d'inscription lundi 28 septembre 2015 Statut Membre Dernière intervention 14 septembre 2016
Modifié par albkan le 14/09/2016 à 23:33
 
Bonsoir TravelTeam, j'ai eu une idée ; essaye :

a) Remplacer([texte];"*";vbLf & vbLf)
b) Remplacer([texte];"*";Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10))
c) Remplacer([texte];"*";Car(13) & Car(10) & Car(13) & Car(10))

Car avec un seul saut de ligne, ça passe à la ligne juste en dessous, et la suite
du texte étant marquée sur cette ligne : pas de ligne vide de séparation !

Avec 2 sauts de ligne, ça devrait faire comme tu veux. Mais ce n'est pas à taper
manuellement dans un champ mémo, hein ? C'est à mettre dans une sub d'un
module VBA !  😉  Sinon, pas d'autre idée...  😊
 
0