Format

bonjour,

j'ai dans une colonne certaines cellule contiennent des nombres stocker en format texte.

j'ai bricolé ça ,mais cela me décale tout dans la colonne (a chaque utilisation tout se décale vers le haut d'une cellule )

une idée ou une meilleur solution ?

merci

Range("N1:N10000").Select

Application.CutCopyMode = False

Selection.TextToColumns Destination:=Range("N1"), DataType:=xlDelimited, _

TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _

Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _

:=Array(1, 1), TrailingMinusNumbers:=True

Bonsoir

j'ai essayé ce code sur des nombres formattés en texte, pas de problème

peux-tu nous mettre ton fichier ?

le voilà merci de ton aide

15classeur1.zip (16.81 Ko)

Bonsoir,

je dois avouer que je ne comprends pas ce qui se passe.

en tout cas cela fonctionne en changeant ton code ppour commencer en N4 plutôt qu'en N1

Range("N4:N10000").Select
Application.CutCopyMode = False
Selection.TextToColumns Destination:=Range("N4"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True

Bonsoir,

A tester.

Cdlt

Option Explicit
Sub ConvertColN()
Dim ws As Worksheet
Dim derligne As Long
Dim Plage As Range
    Application.ScreenUpdating = False
    Set ws = Worksheets("Feuil1")
    With ws
        derligne = .Range("N" & Rows.Count).End(xlUp).Row
        Set Plage = .Range("N3:N" & derligne)
        Plage.TextToColumns Destination:=Range("N3"), DataType:=xlDelimited, _
            TextQualifier:=xlSingleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1), TrailingMinusNumbers:=True
    End With
    Set ws = Nothing: Set Plage = Nothing
End Sub

oui je suis comme toi , j'en perd mon latin...

cela marche également si les cellules N1 et N2 son pleines.

si quelqu'un a une explication ...


merci Jean eric et h2so4

encore un point j'appelais cette macro avec celle ci dessous pour l'appliquer a toutes les feuilles peut etre y a t il un moyen de les synthétiser en une seul macro ?

Sub rest()

Dim Feuille As Worksheet

For Each Feuille In Worksheets 'parcoures toutes les feuilles

If Feuille.Name <> "aaa" And Feuille.Name <> "bbb" Then

Feuille.Activate

Call essai

End If

Next

End Sub

Bonjour,Salut à tous,

Pour ton premier problème, à essayer comme ça :

Sub essai()
    Columns("N").TextToColumns Destination:=Cells(1, "N")
End Sub

Pour la seconde question, si la colonne à transformer au format nombre est toujours la colonne N, teste le code suivant :

Sub texteEnNombre()
    Dim Feuille As Worksheet
    For Each Feuille In Worksheets 'parcoures toutes les feuilles
        If Feuille.Name <> "aaa" And Feuille.Name <> "bbb" Then
            Feuille.Columns("N").TextToColumns Destination:=Cells(1, "N")
        End If
    Next
End Sub

c'est nickel

la solution de Raja , me fait la même chose (décalage vers le haut )

curieux en tous cas !

j'utiliserais celle de Jean Eric

merci a vous 3 pour votres implication

Rechercher des sujets similaires à "format"