Désactiver le auto = lors d'un TextToColumns

Bonjour à tous,

Je suis entrain de faire un petit VBA et je sèche, j'importe un fichier qui me rempli la colonne A et après je fais un "Convertir" par espace sauf que j'ai une ligne dans le fichier qui est comme ça :

................................ 0494 ----Seuil d'Oubli depasse ...

Lors du convertir il met automatiquement un = devant ----Seuil du coup ça me génère un #NOM et la suite de mon programme VBA plante.

Tout en sachant que ce n'est pas que "----Seuil" j'ai d'autre #NOM car Excel rajoute un = à chaque fois.

Est-ce que quelqu'un aurait une idée ???

PS : Je ne peux pas vous partagez mon Excel mais je répondrais à toutes vos questions !

Merci

Private Sub PrepareFile_Click()
    OpenAndImportFile (filePath)

    ' Sélectionnez toutes les colonnes
    Columns(1).Select

    ' Convertissez le texte en colonnes
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlTextQualifierSingleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True

    ' Définissez le format des colonnes comme texte
    Columns.NumberFormat = "@"

    ' Masquez le bouton "PrepareFile"
    PrepareFile.Visible = False

    ' Affichez le bouton "GenerateFile"
    GenerateFile.Visible = True
End Sub

Sub OpenAndImportFile(path)
    Dim wbI As Workbook, wbO As Workbook
    Dim wsI As Worksheet
    Set wbI = ThisWorkbook
    Set wsI = wbI.Sheets(1)
    Set wbO = Workbooks.Open(path)
    wbO.Sheets(1).Cells.Copy wsI.Cells
    wbO.Close SaveChanges:=False
End Sub

Bonjour,

Essayez ceci:

    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlSingleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=True, OtherChar:= _
        "-", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), _
        Array(6, 1)), TrailingMinusNumbers:=True

Cdlt

Bonjour Arturo,

Ca fonctionne plus de #NOM par contre ça m'a enlevé les ---- j'aimerais les garder (je suis chiant ) est-ce que c'est possible ?

Merci

Dans ce cas, avant de faire la conversion, on remplace tous les tirets par des "£", puis après la conversion, on remplace les "£" par des tirets.

Private Sub PrepareFile_Click()
    OpenAndImportFile (filePath)

    ' Sélectionnez toutes les colonnes
    Columns(1).Select

    'Remplacer les tirets par des "£"
    Selection.Replace What:="-", Replacement:="£", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

    ' Convertissez le texte en colonnes
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlTextQualifierSingleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
        Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True

     'Remplacer les "£" par des tirets
        Cells.Replace What:="£", Replacement:="-", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

    ' Définissez le format des colonnes comme texte
    Columns.NumberFormat = "@"

    ' Masquez le bouton "PrepareFile"
    PrepareFile.Visible = False

    ' Affichez le bouton "GenerateFile"
    GenerateFile.Visible = True
End Sub

Cdlt

Oui effectivement je n'y avais pas pensé alors que c'est tout bête !

Merci beaucoup

Rechercher des sujets similaires à "desactiver auto lors texttocolumns"