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 :

Chaines de caracteres sous VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut Chaines de caracteres sous VBA
    Bonjour,

    Je cherche à comprendre comment marchent les chaînes de caractères sous VBA, notamment les concaténations de plusieurs variables, avec l'insertion d'espaces entre les différentes variables.

    En gros, je fais toujours le même code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chaîne= var1 & " " & var2 & " " & var3
    et ca ne marche pas toujours.

    J'ai souvent un message d'erreur du style : "Attendu : fin d'instruction"

    Je ne comprends pas bien dans quels cas cela marche ou non, notamment est-ce que le fait le mettre une variable qui s'appelle var_attribut change qqch (du fait de la présence de l'underscore ?)

    Est-ce que quelqu'un peut m'expliquer ou m'indiquer ou je peux trouver des infos sur le net ?

    Et enfin, derniere question, entre les cotes, est-ce que je peux mettre n'importe quel caractère ? (par exemple "/" pour des dates)

    Merci beaucoup de votre aide,

    Laurene13.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    entre les cotes, est-ce que je peux mettre n'importe quel caractère ? (par exemple "/" pour des dates)
    Oui mais tu as intérêt à utiliser Format ou DateSerial ou les deux... Un petit F1 sur chacune de ces instructions dans l'éditeur VBA te renseignera sur leur utilisation
    Pour ce qui est de la concaténation, si tu as "fin d'instruction requise" comme message d'erreur, alors soit tu as oublié un guillemet ou tu en as mis un de trop sur une variable par exemple, soit tu as ajouté un & qui ne sert à rien.
    Bonne journée

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    557
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 557
    Par défaut
    peut etre que si var contient un " ou un ', c'est la raison pourquoi çà ne marche pas

    Sinon pour concaténer, y pas d'autres solutions
    Bien voir du côté des caractères spéciaux

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    Merci de vos reponses,

    C'est ce que je pensais aussi, mais la par exemple, je tape cette séquence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = i & " / " & indice_mois & " / " & annee
    et ca ne marche pas.

    Vous voyez ou ca cloche ?

    Merci,

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    je pense que ton erreur ne vient pas de ta manière (celle que tu nous montres) de concaténer des chaînes, mais des instructions qui l'utilisent, voire de celles qui la précèdent.
    Ce genre de message arrive la plupart du temps lorsque l'on a placé indûment deux instructions sur la même ligne de code

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Qu'est-ce qui ne "marche pas" ? Le format de sortie ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    Je pense aussi.

    Je me demandais si ca ne pouvait pas etre lié aux déclarations de variables en début de procédure,par exemple....

    Voila la section complete
    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
     
    For i = 1 To nb_jours
     
          Worksheets(nom_feuille).Activate
     
          jour = i&" / "&indice_mois&" / "&annee
     
          Cells(3, i + 3).Value = jour
     
          Select Case Cells(2, i + 3).Value
     
               Case 2
                    Cells(1, i + 3) = "l"
               Case 3
                    Cells(1, i + 3) = "m"
               Case 4
                    Cells(1, i + 3) = "me"
               Case 5
                    Cells(1, i + 3) = "j"
               Case 6
                    Cells(1, i + 3) = "v"
               Case 7
                    Cells(1, i + 3) = "s"
               Case 1
                    Cells(1, i + 3) = "d"
     
          End Select
     
    Next i
    Une idée ?

    Merci,

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Par défaut
    Non, j'ai un message d'erreur :

    "Attendu : fin d'instruction"

    Merci

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors, commence par séparer tes mots
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jour = i & " / " & indice_mois & " / " & annee
    sinon VBA "y comprend pas !"

Discussions similaires

  1. Recherche chaine de caractères sous VBA
    Par nyto35 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/04/2013, 17h11
  2. [XL-2003] Extraction d'une sous chaine de caractere VBA
    Par the-malco dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/09/2011, 09h47
  3. [VBA-E]Jouer avec les chaines de caractere contenu ds cellu
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/02/2006, 13h15
  4. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32
  5. Réponses: 4
    Dernier message: 06/12/2005, 15h12

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