IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Convertir une cellule au format texte en une cellule au format nombre [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut Convertir une cellule au format texte en une cellule au format nombre
    Bonjour,

    Dans le fichier annexé, les données sont importées via l'assistant d'importation avec volontairement l'option de format "texte" pour la colonne B.

    En revanche, dans le traitement des données, j'ai besoin à un moment donné qu'une partie de la colonne B soit au format nombre.

    Il s'agit des données collées via la macro ci-dessous et qui se trouvent dans la zone (B2471:B2484). La conversion est très simple à faire à la main mais je ne parviens pas à l'écrire en VBA.

    Voici le code :

    Sub ESTDAvgResultbis()
    Sheets("Importation").Select

    Dim src As Range 'source
    Dim dst As Range 'destination
    Set dst = ActiveSheet.Range("A2470") 'à adapter
    Set src = ActiveSheet.Columns(2).Find("Avg Result", , xlFormulas, xlWhole)
    If Not src Is Nothing Then
    Set src = src.EntireRow.Resize(15)
    src.Copy dst
    End If

    End Sub

    Merci d'avance pour l'aide :-)
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 524
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 524
    Par défaut
    Salut,

    Il n'y a pas 36 solution:
    Parcourir toutes les cellules concernées, tester si elles sont convertibles, et convertir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub ConvertNumeric()
        Dim Ws As Excel.Worksheet
        Set Ws = ThisWorkbook.Worksheets("Importation")
     
        Dim LastRow As Long
        LastRow = Ws.Range("B:B").Cells(Ws.Range("B:B").Cells.Count).End(xlUp).Row
     
        Dim i As Long
        For i = 1 To LastRow
            Dim Cell As Excel.Range
            Set Cell = Ws.Range("B:B").Cells(i)
     
            If (IsNumeric(Cell.Value)) Then
                Cell.Value = CDbl(Cell.Value)
            End If
        Next
    End Sub

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Par défaut Merci
    Hello,

    Merci pour la réponse rapide!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Convertir une date format texte en format date sur une plage avec des cellules vides
    Par wkrystof1 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 19/04/2017, 16h10
  2. Réponses: 8
    Dernier message: 23/08/2016, 22h23
  3. Convertir une date format texte en format date
    Par arni63 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 19/03/2012, 15h34
  4. Convertir une string en un nombre a virgule?
    Par UnSofteuxAmateur dans le forum Framework .NET
    Réponses: 2
    Dernier message: 29/01/2008, 23h50
  5. [Requête]Convertir une chaine de texte en format date
    Par emjie dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/04/2007, 00h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo