Remplacer des quotes

zaknaster

XLDnaute Nouveau
Bonjour à tous

Je ne vais pas m'attarder sur tout le fonctionnement de mon outil VBA, mais ce qu'il faut savoir est que ce dernier est un outil qui traite plusieurs fichiers MS Excel et exporte ces données dans un fichier texte. Ce fichier texte prend la forme d'un script SQL. On peut considérer mon outil comme un générateur SQL.

Cependant, parmi les données récupérées, certaines d'entres elles comportent des des textes qui ont également des guillemets (il suffit d'une phrase du type "c'est une exigence") ce qui invalide le code SQL existant.

Du coup, pour valider la requete SQL, j'ai besoin de rendre cette dernière opérationnelle en remplacant ces guillemets par des doubles quotes.

Plutot que de faire ça manuellement, je désire incorporer cette fonctionnalité dans mon outil et dire:
- Pour une cellule choisie (en dur) dans Excel, il faut remplacer toutes les quotes par des doubles quotes.
- Il faut également remplacer "-->" (caractère permettant un commentaire dans SQL) par ">>".

Malheureusement, je ne parviens pas à réaliser cette tâche, quelqu'un peut il m'aider ?
Merci beaucoup
 

pierrejean

XLDnaute Barbatruc
Re : Remplacer des quotes

bonjour zaknaster

Voici une macro qui realise ce que tu souhaites

Code:
Sub remplace(cellule As Range)
cellule.Value = Replace(cellule.Value, Chr(34), """""")
cellule.Value = Replace(cellule.Value, "-->", ">>")
End Sub
 

zaknaster

XLDnaute Nouveau
Re : Remplacer des quotes

Bonjour pierrejean merci de ta réponse :)

Concernant cette ligne:
cellule.Value = Replace(cellule.Value, Chr(34), """""")

Je veux remplacer le ' par '', est-ce que c'est ce qui est bien caractérisé par chr(34) ?

Comment puis-je utiliser ta macro, comment puis-je selectionner une Range ?
Désolé je suis pas très bon en VBA, je me contente de bidouiller !

Merci pour ton aide.
 

pierrejean

XLDnaute Barbatruc
Re : Remplacer des quotes

Re
Mes excuses
J'avais compris remplace " par ""
remplacer la ligne par

Code:
cellule.Value = Replace(cellule.Value, Chr(39), """")

Par ailleurs un fichier montrant l'utilisation de la macro (tester la macro essai)
 

Pièces jointes

  • zaknaster.zip
    6.3 KB · Affichages: 23

Discussions similaires

Réponses
36
Affichages
2 K
Réponses
10
Affichages
666

Statistiques des forums

Discussions
312 317
Messages
2 087 189
Membres
103 493
dernier inscrit
Vidal Salvador