Apostrophe Excel Texte

Bonjour,

J'ai extrait des données depuis autocad vers Excel, et toutes mes données apparaissent avec une apostrophe.
Pour les chiffres j'ai pu régler le problème avec un petit programme en VBA, mais le problème persiste avec les textes..

Pour l'instant je vois : 'texte alors que moi je voudrais : texte

Quelqu'un pourrait t-il m'aider ?

Merci d'avance !

6 réponses

  1. Contributeur
    Re,

    Copie ta feuille (je suppose que tu n'y as pas de formules) et fais un collage spécial valeur dans une autre feuille, ça a l'air d'être bon.

    eric
    1
    1. Exacte !!! Merci beaucoup , je n'y avais pas penser !
      Est ce que cette opération est envisageable en programmation ( VBA) ?
      0
    2. Contributeur
      oui bien sûr, mais ça fait un peu fainéant là...
      ctrl+c suivi de ctrl+v ne nécessite pas vraiment de macro, n'exagérons rien
      0
    3. Cela peut paraître fainéant, mais en faite non ^^
      C'est juste que je souhaiterais complètement automatiser le programme, afin que les utilisateurs n'est plus qu'a appuyer sur un bouton qui lance la macro ...

      J'avoue être débutante pour l'instant sur VBA, alors si tu sais faire en VBA :

      sélectionner toute la feuille puis copier
      collage spécial avec en sélection" valeur" , sur un nouvel onglet, je suis vraiment preneuse !!!!

      Merci beaucoup de ton aide !
      0
    4. Contributeur
      Bonjour,

      Par sécurité il faut que ta feuille origine s'appelle toujours pareil, ici "Source".
      Sub collerValeurs()
          Dim shSource As Worksheet
          ' nom de la feuille à copier
          Const nomFeuilleSource As String = "Source"
          Set shSource = Worksheets(nomFeuilleSource)
          Sheets.Add
          shSource.UsedRange.Copy
          ActiveSheet.[A1].PasteSpecial xlPasteValues
          ' suppression feuille originale sans confirmation
          Application.DisplayAlerts = False
          shSource.Delete
          Application.DisplayAlerts = True
          ' renommer feuille
          ActiveSheet.Name = nomFeuilleSource
      End Sub

      eric
      0
    5. Contributeur
      PS: à mettre dans un module (puisque la feuille est supprimée)
      0
  2. Salut,

    avec un "remplacer" ? ctrl +f, onglet "remplacer". Remplacer " ' " par " " (un espace ou un vide)
    0
    1. Bonjour,

      Merci de ta réponse, mais cela ne fonctionne pas ...
      Je crois que "remplacer" ne fonctionne pas avec les apostrophes

      D'autres idées ?

      Merci d'avance

      Bonne journée
      0
    2. je viens d'essayer, cela fonctionne chez moi.
      Tu peux me copier un extrait de ton texte stp ?
      0
  3. Contributeur
    Bonjour

    la solution de Koma s'applique si l'apostrophe en début de texte est visible dans les cellules.
    C'est ce que je vous souhaite, mais cela ne fonctionne pas si elle est seulement présente en tant que spécification de texte (uniquement visible dans la barre de formule)

    pour ma part, et hors macro, je ne connais qu'une solution pour faire disparaître ce signe dans ce cas:
    en ligne avec le champ texte ou en liaison sur une autre feuille:
    =SUBSTITUE(A1;"'";;1)
    qui fait disparaître l'apostrophe

    on peut ainsi traiter toute la feuille en copie liée et directement passer en num ou en texte sans apostrophe avec la formule:
    =SI(ESTERREUR(SUBSTITUE(A1;"'";;1)*1);SUBSTITUE(A1;"'";;1);SUBSTITUE(A1;"'";;1)*1)

    il suffit après de faire un copier /collage spécial "valeur" sur la feuille d'origine

    crdlmnt

    0
    1. hum ok. je n'avais pas saisi qu'il s'agissait de valeurs. désolé.
      0
    2. Contributeur
      Pas de quoi être désolé Koma, je n'ai pas dit que cela ne marchait pas, et ne sachant pas ce que devient un texte depuis AUTOCAD vers Excel, il est encore largement possible que vous ayez raison,
      le demandeur nous le dira.

      crdlmnt
      0
  4. Merci pour toutes ces réponses, effectivement cela fonctionne avec
    =SUBSTITUE(A1;"'";;1)

    mais je souhaiterais automatiser cela dans une macro.

    Merci d'avance !
    0
    1. Contributeur
      Bonjour,

      Sélectionner la plage à traiter et lancer la macro.
      Sub suppApostrophe1()
          Dim c As Range
          For Each c In Selection
              c = c
          Next c
      End Sub
      

      eric
      0
      1. merci, mais cela ne fonctionne pas...
        Ton programme fonctionne très bien si dans ma cellule j'ai
        '2
        mais si j'ai 'texte rien ne change ...
        d'autres idées ?

        Merci !
        0
        1. Contributeur
          chez moi ça fonctionne bien (excel 2003)...
          eric
          0
        2. ah... moi j'ai Excel 2010... Mais je ne vois pas trop pourquoi cela ne marcherai pas...
          Comment t-y prend tu ?
          tu selectionne, et exécute la macro ?
          0
        3. Contributeur
          oui, c'est ça
          Mais j'ai testé sur 2010 et je constate la même chose que toi.
          J'ai essayé d'autres façons de faire mais rien de mieux pour l'instant
          0
        4. Oh... mer...*
          Je comprends vraiment pas pourquoi cela ne fonctionne pas sur Excel 2010 si le programme fonctionne sur 2003... C'est vraiment bizarre
          merci beaucoup en tout cas de ton aide !

          Si tu trouve une solution je suis preneuse, parce que je suis en train de devenir folle avec sa !

          Merci !
          0
        5. Contributeur
          J'avoue être à court d'idée :-)
          J'ai essayé avec une variable intermédiaire, en vidant la cellule, avec replace() : l'apostrophe revient dans la cellule tout le temps...
          0