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 :

Suppression des 30 premiers caractères d'une chaine


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Suppression des 30 premiers caractères d'une chaine
    Bonjour,

    J'ai voulu créer une macro qui ne garde que les 30 premiers caractères dans chaque cellule des 100 premières lignes de la colonne A. (si j'ai 90 caractères dans une cellule, je ne veux garder que les 30 premiers).

    Pour se faire, j'ai créé une fonction qui ne marche pas.
    Elle me renvoie à chaque fois "maChaine".
    Je ne sais pas si cela est du à une mauvaise utilisation de la fonction "left (xxx)" ou si c'est à cause du fait que j'initie mal "maChaine".
    Etant donné que je débute en VBA je ne sais pas trop comment m'y prendre pour faire correctement l'initialisation.

    Si quelqu'un pouvait m'aider, je lui serais très reconnaissant.

    Voici mon 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
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 2007-06-22 par BoissinT
    '
     
    Dim maChaine As String
    Dim resultat As String
     
    i = 0
    While i < 100
     
    i = i + 1
    maChaine = Range("A" & i).Value
    resultat = Left("maChaine", 30)
    Range("A" & i).Value = resultat
     
    Wend
     
    '
    End Sub

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resultat = Left(maChaine, 30)
    maChaine est une variable. Pour utiliser la valeur qu'elle contient dans une expression, tu écris son nom tout simplement.

    Ainsi Msgbox maChaine affiche le texte contenu dans la variable maChaine.

    Alors que Msgbox "Bonjour" ne fait qu'afficher la chaine de caractère <<Bonjour>>.

  3. #3
    Membre averti Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Points : 317
    Points
    317
    Par défaut
    tu peux même faire d'un coup ^^ en remplacant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    maChaine = Range("A" & i).Value
    resultat = Left("maChaine", 30)
    Range("A" & i).Value = resultat
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & i).Value = Left(Range("A" & i).Value, 30)

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    Merci à tous les deux, je viens d'effectuer la modification, et tout marche pour le mieux.

    Bonne fin de journée.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/11/2013, 20h09
  2. Réponses: 2
    Dernier message: 19/06/2007, 17h37
  3. Réponses: 10
    Dernier message: 28/02/2007, 19h47
  4. Supprimer le premier caractère d'une chaine de caractères
    Par Droïde Système7 dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 12h13
  5. Réponses: 3
    Dernier message: 12/06/2002, 22h15

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