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 :

[VBA-E] Format de nombre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut [VBA-E] Format de nombre
    bonjour,

    apres une tentative ratée de faire une macro en mode creation, je viens demander si il est possible (je pense que oui) de faire ceci :

    - J'ai un nom de fichier du type : nom0009.txt
    la semaine prochaine il aura le nom : nom0010.txt

    jaurai voulu savoir comment faire pour changer ce nom automatiquement il ne suffit pas ici de faire :

    il faut qu'il y ai toujours 4 chiffres derriere le nom.

    jaurai aussi voulu savoir (c'est peut etre le meme probleme) comment faire pour declarer un nombre qui doit contenir 4 chiffres (en faisant num=0000, il remet automatiquement num=0)


    Merci de vos réponses

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Utilisation de Instr, Mid, Len, Right, Left etc... (aide en ligne)
    et de Format (également aide en ligne)
    Reviens nous voir avec un bout de code utilisant celà...

  3. #3
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Salut!
    Regarde ce que sait faire "Format".

  4. #4
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    J'ai trouvé. Regarde cet exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    i = 10
    i = i + 1
    MsgBox (Format(i, "####0000"))

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Ok !

    Merci de votre aide

    je finis un autre petit code avant et ensuite jme met à celui là et jvous tiens au courant

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tiens un pe de code
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Function IncNom(st As String)
     
    Dim stPre As String
    Dim stNbre As String
    Dim stSuff As String
    Dim i As Integer
    Dim iMode As Integer ' i =1
     
    For i = 1 To Len(st)
      Select Case iMode
        Case 0 'Extrait prefixe
          If Mid(st, i, 1) >= "0" And Mid(st, i, 1) <= 9 Then
            stNbre = Mid(st, i, 1)
            iMode = 1 '.. passe à extraction nombre
          Else
            stPre = stPre & Mid(st, i, 1)
          End If
        Case 1 'Extrait nombre
          If Mid(st, i, 1) >= "0" And Mid(st, i, 1) <= 9 Then
            stNbre = stNbre & Mid(st, i, 1)
     
          Else
            stSuff = Mid(st, i, 1)
            iMode = 2 '.. passe à extraction suffixe
          End If
         Case 2
            stSuff = stSuff & Mid(st, i, 1)
      End Select
     
     
     
    Next
     
    Debug.Print "<" & stPre & "-" & stNbre & "-" & stSuff & "]"
    i = Len(stNbre)
    If i > 0 Then
     IncNom = stPre & Right(String(i, "0") & (stNbre + 1), i) & stSuff
     
    Else
      IncNom = st
    End If
     
    End Function
    Citation Envoyé par Fenêtre exécution
    ?incNom("nom0009.txt")
    <nom-0009-.txt]
    nom0010.txt

  7. #7
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Ha ben là... Quand je pense qu'on me reproche parfois de donner des solutions compliquées...

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Megaxel
    Ha ben là... Quand je pense qu'on me reproche parfois de donner des solutions compliquées...
    .. j'avais envie de coder lol...

  9. #9
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Salut

    Et si tout simplement tu faisais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim strNomFichier as String
     
       strNomFichier="nom" & Format(numero+1,"0000") & ".txt"
    Est-ce que ça ne marcherait pas ?

    Théo

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    (ca vous l'a pas fait en lisant le code de bbil )

    héhé, je suis méchant car il fait ce que je cherchais à faire

    mais bon, celui là aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim strNomFichier as String 
     
       strNomFichier="nom" & Format(numero+1,"0000") & ".txt"
    alors mon choix entre les deux a été vite fait

    en tout cas merci à tous pour vos réponses !! ( et surtout à théo car il m'a évité un mal de crane pour décoder la solution (un peu) plus longue )

  11. #11
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Elstak
    (ca vous l'a pas fait en lisant le code de bbil )

    héhé, je suis méchant car il fait ce que je cherchais à faire
    pas sympa ! ... en fait comme tu n'étais pas clair sur la consistance de ton "Nom"... je t'ai écrit une fonction un peu plus universelle que prévu...

    Citation Envoyé par Fenêtre exécution, exple d'utilisation
    ?incNom("to1.txt")
    to2.txt
    ?incNom("Ect00000534Pjlskdpo")
    Ect00000535Pjlskdpo
    ?incNom("Et le Numero : 00234 fonctionne aussi")
    Et le Numero : 00235 fonctionne aussi
    sinon la solution par Format t'avais déjà été donné par Jmf.. dès la premiére réponse au post

  12. #12
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par bbil
    Citation Envoyé par Elstak
    (ca vous l'a pas fait en lisant le code de bbil )

    héhé, je suis méchant car il fait ce que je cherchais à faire
    pas sympa ! ... en fait comme tu n'étais pas clair sur la consistance de ton "Nom"... je t'ai écrit une fonction un peu plus universelle que prévu...

    Citation Envoyé par Fenêtre exécution, exple d'utilisation
    ?incNom("to1.txt")
    to2.txt
    ?incNom("Ect00000534Pjlskdpo")
    Ect00000535Pjlskdpo
    ?incNom("Et le Numero : 00234 fonctionne aussi")
    Et le Numero : 00235 fonctionne aussi
    sinon la solution par Format t'avais déjà été donné par Jmf.. dès la premiére réponse au post
    Mais oui il est bien ton code quoique un peu indigeste mais bon, moi, je commence à avoir l'habitude

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    mais te fache pas bbil
    (juste un calin amical, reve pas non plus )

    je t'ai dit que ta solution allait bien !! juste que pour ce qu'il me faut, celle de théo convient, donc entre 2 lignes et un peu plus bah je choisi les 2 lignes

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

Discussions similaires

  1. [AC-2003] Format de nombre personnalisé Excel en VBA
    Par azertix dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/10/2011, 10h13
  2. [Nombre]formater le nombre de décimal après une virgule.
    Par PascalCmoa dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/03/2007, 10h40
  3. [VBA-Excel] combobox et format de nombre
    Par vovor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 22h03
  4. Formater un nombre avec Crystal Reports
    Par Soph70 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 05/07/2005, 19h27
  5. Format de nombre
    Par shawinnigan dans le forum Oracle
    Réponses: 12
    Dernier message: 23/08/2004, 12h37

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