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 :

Scinder les chaînes de caractère d'un tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut Scinder les chaînes de caractère d'un tableau
    Bonjour,
    Je débute (niveau 0) en VBA, et je voulais écrire une macro me permettant de splitter des chaînes de caractère contenu dans une colone d'un tableau excel.
    Je m'explique:
    En colonne A, je dispose de chaîne de caractère sous la forme
    YYYYMMDD_HHhMM_libellé1_xxx123456_libellé2

    Je voudrais que pour chaque chaîne contenu en Ai, la macro renseigne en Bi, Ci, Di, Ei, Fi les composants de cette chaîne (donc entre les "_").
    J'ai réussi à le faire pour A2 (ma première entrée) avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ExtraireParametreChaine()
     
    Dim zone As Variant
    Dim i As Integer
    zone = Split(Range("A2"), "_")
    For i = 0 To UBound(zone)
      Cells(2, i + 2) = zone(i)
    Next
     
    End Sub
    Mon premier problème, c'est que je ne sais pas le reproduire pour l'ensemble de la colonne A, ensuite la taille variable de mes libellés 1 et 2.
    Voilà, si quelqu'un a une idée pour m'aider, ce serait super sympa
    Merci
    C.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut, pour la partie 1 je propose ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub ExtraireParametreChaine()
     
    Dim zone As Variant
    Dim i As Integer
    Dim j  as integer
    for j = 2 to 30 'de A2 à A30
    zone = Split(Range("A" & i), "_")
    For i = 0 To UBound(zone)
      Cells(j, i + 2) = zone(i)
    Next i
    next j
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Je viens de tester ceci:
    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
    Sub ExtraireParametreChaine()
     
      Dim zone() As String
      Dim i As Integer
      Dim rRange As Range
      Dim c As Range
      Set rRange = Range(Cells(1, 1), Cells(Cells.SpecialCells(xlLastCell).Row, 1))
     
      For Each c In rRange
        zone = Split(c.Text, "_")
        For i = 0 To UBound(zone)
          c.Offset(0, i) = zone(i)
        Next i
      Next c
    End Sub
    Je m'attends à la question concernant le formatage des dates et heures mais tu peux chercher un peu.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. [FAQ] Comment scinder une chaîne de caractères en un tableau ?
    Par Watilin dans le forum Contributions JavaScript / AJAX
    Réponses: 0
    Dernier message: 26/04/2013, 13h59
  2. [MySQL] fonctions qui convertit les chaînes de caractères en entier
    Par poyoland dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 02/03/2007, 11h36
  3. MFC + Manipuler les chaînes de caractères
    Par mqsi dans le forum MFC
    Réponses: 2
    Dernier message: 15/11/2006, 16h24
  4. Réponses: 6
    Dernier message: 08/08/2006, 09h14

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