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 un string en nombre sans utiliser une boucle


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Par défaut Convertir un string en nombre sans utiliser une boucle
    Bonjour,

    Confronté à de grandes quantités de données, je souhaite pouvoir convertir des données string en nombre sans passer par des boucles. Par exemple, comment passer une colonne entière de string en integer d'un "seul coup", donc sans boucle ?

    Quelqu'un peut-il me mettre sur la piste ?

    Merci.

    Serge_BDD

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,
    donnes des exemples de nombre! 1.1; 1,1; 1;??

    Code Conversion Double Integer : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    Range("A1:A100") = "1.1"
    Range("A1:A100").NumberFormat = "#"
    Range("A1:A100").Value = Range("A1:A100").Text
    Range("A1:A100").NumberFormat = "General"
    End Sub

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Comme ceci:
    Nom : Untitled.jpg
Affichages : 159
Taille : 212,2 Ko

    Si tu as absolument besoin du code VBA, l'enregistreur de maccro te le donnera.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Par défaut Convertir un string en nombre sans utiliser une boucle
    Citation Envoyé par rdurupt Voir le message
    bonjour,
    donnes des exemples de nombre! 1.1; 1,1; 1;??

    Code Conversion Double Integer : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    Range("A1:A100") = "1.1"
    Range("A1:A100").NumberFormat = "#"
    Range("A1:A100").Value = Range("A1:A100").Text
    Range("A1:A100").NumberFormat = "General"
    End Sub
    Merci pour ta réponse, que je vais essayer cet après-midi.

    Si tu veux des exemples de nombre : 15000, 6500, 4567, 234,50 (certains nombres ont des virgules etc

  5. #5
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Range("A1:A100").NumberFormat = "General"
    Range("A1:A100") = "1,1"
    Range("A1:A100").Replace What:=",", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Range("A1:A100").NumberFormat = "#"
    Range("A1:A100").Value = Range("A1:A100").Text
    Range("A1:A100").NumberFormat = "General"
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 15
    Par défaut Convertir un string en nombre sans utiliser une boucle
    Bonjour Durupt,

    J'ai testé ton modèle. Mais pourquoi imposes-tu un nombre ("1,1") au départ ?
    Peut-être n'ai-je pas su l'adapter ?






    Citation Envoyé par rdurupt Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Range("A1:A100").NumberFormat = "General"
    Range("A1:A100") = "1,1"
    Range("A1:A100").Replace What:=",", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
    Range("A1:A100").NumberFormat = "#"
    Range("A1:A100").Value = Range("A1:A100").Text
    Range("A1:A100").NumberFormat = "General"
    End Sub

  7. #7
    Invité
    Invité(e)
    Par défaut
    bonjour,
    tu voulais que je te donnes un exemple sans exemple?

  8. #8
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Bonjour,

    L'équivalent de ce que tu montres c'est ça

    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
    18
    19
    20
    Sub FormatGeneralSurColonne()
        Application.ScreenUpdating = False
        Calcul = Application.Calculation
        Application.Calculation = xlCalculationManual
        Dim c As Range, MonText As String
        If Selection.Cells.Count > 1 Then
            Set MaSelection = Intersect(Selection.SpecialCells(xlCellTypeVisible), Range("A1", ActiveSheet.UsedRange))
        Else
            Set MaSelection = Selection
        End If
        If MaSelection.Areas.Count = 1 And MaSelection.Columns.Count = 1 Then
            MaSelection.TextToColumns Destination:=MaSelection, DataType:=xlDelimited, _
                                      TextQualifier:=xlSingleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
                                      Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
                                                                                                :=Array(1, 1), TrailingMinusNumbers:=True
        Else
            Msgbox "veuillez sélectionner une seule colonne"
        End If
        Application.Calculation = Calcul
    End Sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

Discussions similaires

  1. Convertir champ Texte en date en utilisant une requête
    Par mo9rissat dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/07/2012, 12h12
  2. Réponses: 4
    Dernier message: 19/05/2010, 19h03
  3. Réponses: 10
    Dernier message: 06/07/2009, 13h56
  4. Réponses: 11
    Dernier message: 27/04/2006, 08h56
  5. Un select sans utiliser une clé primaire...
    Par Julio de Mendoza dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 14/02/2006, 14h10

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