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 :

Problème aberrant de concaténation de string


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Par défaut Problème aberrant de concaténation de string
    Bonjour à tous,
    Je dispose d'un tableau de données, dont l'entête correspond aux mois de l'année, formatés comme suit: janv- fév- mars- avril- mai- juin- juil- aout- sept- oct- nov- déc-

    Je cherche par macro à compléter ces mois avec l'année en cours, pour obtenir janv-08 fév-08 mars-08 avril-08 mai-08 juin-08 juil-08 aout-08 sept-08 oct-08 nov-08 déc-08

    Jusque là rien de compliqué. Sauf que les mois de septembre, octobre et novembre sont convertis automatiquement au format date jj/mmm, et du coup j'obtiens 08-sept 08-oct et 08-nov.

    Je vois pas du tout pourquoi cela me fait ca, vu que le format de cellule est bien général, que je ne le modifie pas, et que je me contente de concaténer deux chaines de caractères....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dim sYear as string
    sYear = Right(Year(Date), 2)
    For Each rCell In .Range("E3:P3")
          If Right(rCell.Value, 1) = "-" Then
             rCell.Value = rCell.Value & sYear
          End If
    Next rCell
    Quelqu'un à une idée?

    PS si je mets le mois complet ca marche, mais le texte devient trop long

  2. #2
    Membre expérimenté Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 19
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    et simplement mettre ça dans ta cellule sans faire de VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = "Janv - " & DROITE(ANNEE(AUJOURDHUI());2)
    koitenpens ?

  3. #3
    Membre expérimenté Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 19
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    autre chose... concatener les strings c'est de la polygammie...



    vivement les vacances....

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    autre chose... concatener les strings c'est de la polygammie...:

    lahola:

    vivement les vacances....
    Fichtre.... fallait la sortir celle-là. C'est de toi ?

  5. #5
    Membre chevronné Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Par défaut
    Citation Envoyé par ilcocodrillo Voir le message
    autre chose... concatener les strings c'est de la polygammie...
    Non, c'est de la couture

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Par défaut
    Citation Envoyé par ilcocodrillo Voir le message
    et simplement mettre ça dans ta cellule sans faire de VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = "Janv - " & DROITE(ANNEE(AUJOURDHUI());2)
    koitenpens ?
    Ca marche, mais je ne peux pas l'utiliser

    Je construit mon tableau par macro, donc je ne peux pas le mettre dans la formule directement, et quelque soit le moment ( ou l'endroit) où je concatène mes strings , ca ne marche pas

    Ca ne le fait que chez moi?
    Peut-être un bug d'excel 2003???

  7. #7
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Idée différente :

    Et si tu formattais tes cellules en texte pur, et pas en date ou général, alors tu y mets ce quet tu veux et ton formattage ne change par pour Septembre à novembre.


  8. #8
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 431
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Idée différente :

    Et si tu formattais tes cellules en texte pur, et pas en date ou général, alors tu y mets ce quet tu veux et ton formattage ne change par pour Septembre à novembre.

    Idée intéressante, mais dans ce cas excel affiche T2008xt2008, et 08/09/2008 dans la formule (la même valeur qu'avant).

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Idée intéressante, mais dans ce cas excel affiche T2008xt2008, et 08/09/2008 dans la formule (la même valeur qu'avant).
    je ne comprends pas

  10. #10
    Membre expérimenté Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 19
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    Si tu construit ton tableau par vba, tu dois pouvoir insérer cette formule là au moment ou tu rempli cette plage là mais à mon avis il y a plus simple...

    genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For I = 1 To 12
        Cells(1, I).Select
        ActiveCell.Value = CDate("01/" & I & "/2008")
        Selection.NumberFormat = "mmm-yy"
    Next I

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2008, 13h56
  2. [VBA-E] Bug dans la concaténation de String
    Par krollkop dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 01/06/2006, 11h41
  3. (Problème avec...) conversion de std::string en char
    Par crossbowman dans le forum SL & STL
    Réponses: 7
    Dernier message: 05/03/2006, 19h54
  4. problème de conversion int[x] --> string
    Par poussinphp dans le forum SL & STL
    Réponses: 2
    Dernier message: 17/08/2005, 14h45
  5. Concaténation de String et Integer
    Par Ingham dans le forum Langage
    Réponses: 5
    Dernier message: 21/01/2003, 17h26

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