Remplacer les apostrophes dans des libellés par des doubles quote

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sissou71

XLDnaute Occasionnel
Bonjour,

J'ai un fichier Excel qui permet de mettre en place un sondage et crée la requête SQL dans une ligne. Je voudrais que dans les champs remplis par le créateur du sondage, les apostrophes soient remplacées par des double quote de manière à ce que la requête SQL fonctionne.

Cf fichier joint, les données remplies par le créateur du sondage sont les colonnes A à D et la requête SQL s'écrit en colonne F

Merci pour votre aide
 

Pièces jointes

Re : Remplacer les apostrophes dans des libellés par des doubles quote

Encore une question... le bouton convient parfaitement à l'utilisation que mes utilisateurs par contre il reste un cas ou le bouton ne fonctionne pas et là je n'arrive pas à trouver de solutions... je tente une explication :

Dans la cellule B3, l'utilisateur entre le texte "Envisagez-vous d'utiliser un appareil ?"
Il clique sur le bouton "modifier apostrophe" et le texte devient "Envisagez-vous d''utiliser un appareil ?"
Ca fonctionne
Par contre l'utilisateur modifie la cellule B3 par le texte "Envisagez-vous d'utiliser un appareil d'audition?"
une nouvelle apostrophe est apparue mais s'il clique de nouveau sur le bouton "modifier apostrophe" la nouvelle apostrophe n'est pas modifiée.

Comment faire pour que la macro repasse sur les cellules qu'elle a déjà modifiées ?
Merci encore
Cécile
 
Re : Remplacer les apostrophes dans des libellés par des doubles quote

Bonjour,

En me droguant au café, j'ai jeté un coup d'oeil et pensé à une correction qui semble bien fonctionnner.

En fait cela consiste à vérifier une première fois s'il y a double ', à les enlever pour ensuite les remettre.

À tester :

Code:
Private Sub CommandButton1_Click()
Dim U As Byte
Dim X As Integer
Dim Cel As Variant
Application.ScreenUpdating = False
With Sheets("Données")
   Range("B2:H200").Select
   For Each Cel In Selection
      U = InStr(Cel, "''")
      If U > 0 Then Cel.Value = Replace(Cel, "''", "'")
      U = InStr(Cel, "''")
      If U = 0 Then Cel.Value = Replace(Cel, "'", "''")
      If U = 0 Then Cel.Value = Replace(Cel, "’", "''")
   Next Cel
End With
Range("B3").Select
End Sub


G
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour