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

IHM Discussion :

extraire chaines de caracteres separarées par des virgules


Sujet :

IHM

  1. #21
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 600
    Points : 34 271
    Points
    34 271
    Par défaut
    Salut,
    je pense que ton soucis se situe dans le contenu de ton champ F19...
    Et si en ajoutant par exemple un Nz comme ceci, ca donne quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vaColone_1=Nz(Split(rstS("F19"),"") & "", ",")
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  2. #22
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir Marot_r

    Je reviens vers toi si tu as une solution pour mon problem ou bien mon problem est-il mal décrit?

    Merci à toi

    Totor

  3. #23
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir Marot_r

    Je reviens vers toi pour savoir si tu as une solution pour mon problème ou bien mon problème est-il mal décrit?

    Merci à toi
    .... Je suis perdu!!!
    Totor

  4. #24
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonsoir Marot_r,

    Petit souci ... je viens de découvrir qu'il pouvait y avoir plusieurs pages!! D'ou mes relances successives!

    Concernant ta proposition sur le code ci-dessous:

    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
    Private Sub Command13_Click()
     
        Dim db As DAO.Database: Set db = CurrentDb
        Dim rstS As DAO.Recordset, rstD As DAO.Recordset
        Dim strSQL As String
        Dim vaColonne_1() As Variant
        Dim i As Integer
     
        strSQL = "SELECT TaSourceADecouper.[F19] FROM TaSourceADecouper;"
        Set rstS = db.OpenRecordset(strSQL)
        strSQL = "SELECT TaTableResultat.Colonne_1, TaTableResultat.Colonne_2, TaTableResultat.Colonne_3, TaTableResultat.Colonne_4, TaTableResultat.Colonne_5, TaTableResultat.Colonne_6, TaTableResultat.Colonne_7, TaTableResultat.Colonne_8, TaTableResultat.Colonne_9, TaTableResultat.Colonne_10, TaTableResultat.Colonne_11, TaTableResultat.Colonne_12 FROM TaTableResultat;"
        Set rstD = db.OpenRecordset(strSQL)
     
        While rstS.EOF = False
            vaColone_1 = Nz(Split(rstS("F19"), "") & "", ",")
            rstD.AddNew
     
            For i = LBound(vaColonne_1) To UBound(vaColonne_1)
               rstD.Fields("Colonne_" & i + 1) = vaColonne_1(i)
     
            Next i
     
            rstD.Update
            rstS.MoveNext
        Wend
        rstS.Close
        rstD.Close
        Set rstS = Nothing
        Set rstD = Nothing
        Set db = Nothing
     
     
    End Sub
    c'est la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            vaColone_1 = Nz(Split(rstS("F19"), "") & "", ",")
    qui passe en jaune...
    avec le message d'erreur Run-time error '13':
    Type mismatch

    C'est quoi qui coince?

    Un grand merci

    Totor

  5. #25
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 600
    Points : 34 271
    Points
    34 271
    Par défaut
    salut,

    faire un split avec en second parametre une chaine vide "" c'est pas top faut dire

    j'ai inverse les deux imbrications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vaColone_1=Split(Nz(rstS("F19"),""),",")
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  6. #26
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Bonjour jpcheck,


    Toujours un message d'erreur!

    sur la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = LBound(vaColonne_1) To UBound(vaColonne_1)
    message d'erreur

    Run-time errort '9':
    Subscript out of range

    quand je passé la souris sur le champ surligné en jaune:
    Lbound(vaColonne_1)=<Subscript out of range>

    Qu'est ce que cela veut dire?
    Mon champ F19 de la table "TaSourceADecouper" contient, pour l'instant, 8 references séparées par des virgules et ma table "TaTableResultat" est constituée de 12 colonnes, au cas ou!


    code global:
    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
    Private Sub Command13_Click()
     
        Dim db As DAO.Database: Set db = CurrentDb
        Dim rstS As DAO.Recordset, rstD As DAO.Recordset
        Dim strSQL As String
        Dim vaColonne_1() As Variant
        Dim i As Integer
     
        strSQL = "SELECT TaSourceADecouper.[F19] FROM TaSourceADecouper;"
        Set rstS = db.OpenRecordset(strSQL)
        strSQL = "SELECT TaTableResultat.Colonne_1, TaTableResultat.Colonne_2, TaTableResultat.Colonne_3, TaTableResultat.Colonne_4, TaTableResultat.Colonne_5, TaTableResultat.Colonne_6, TaTableResultat.Colonne_7, TaTableResultat.Colonne_8, TaTableResultat.Colonne_9, TaTableResultat.Colonne_10, TaTableResultat.Colonne_11, TaTableResultat.Colonne_12 FROM TaTableResultat;"
        Set rstD = db.OpenRecordset(strSQL)
     
        While rstS.EOF = False
            vaColone_1 = Split(Nz(rstS("F19"), ""), ",")
            rstD.AddNew
     
            For i = LBound(vaColonne_1) To UBound(vaColonne_1)
               rstD.Fields("Colonne_" & i + 1) = vaColonne_1(i)
     
            Next i
     
            rstD.Update
            rstS.MoveNext
        Wend
        rstS.Close
        rstD.Close
        Set rstS = Nothing
        Set rstD = Nothing
        Set db = Nothing
     
     
    End Sub

  7. #27
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 600
    Points : 34 271
    Points
    34 271
    Par défaut
    A noter que tu as ajoute discretos des parentheses dans ta declaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim vaColonne_1() As Variant
    enleve les en principe c'est un premier point

    Second point, tu fais reference au champ F19 dans ton recordset alors qu'il n'apparait pas dans ta requete...
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  8. #28
    Membre régulier Avatar de totor92290
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 418
    Points : 102
    Points
    102
    Par défaut
    Merci jpcheck,

    J'ai retiré les parentheses et j'ai toujours un message d'erreur,

    Run-time error '13':
    Type mismatch

    Ligne surlignée:
    For i = LBound(vaColonne_1) To UBound(vaColonne_1) 
    par contrre je fais reference à la colonne F19 dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL = "SELECT TaSourceADecouper.[F19] FROM TaSourceADecouper;"
    ainsi que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vaColone_1 = Split(Nz(rstS("F19"), ""), ",")

Discussions similaires

  1. [XL-2003] Extraire Mots séparé par des virgules
    Par guigui69 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 04/05/2011, 18h15
  2. [CSV] Remplacer les points par des virgules
    Par johnkro dans le forum Langage
    Réponses: 4
    Dernier message: 27/11/2008, 19h25
  3. Extraire chaine de caractere
    Par killuaster dans le forum Langage
    Réponses: 3
    Dernier message: 18/12/2006, 10h10
  4. Réponses: 2
    Dernier message: 27/10/2006, 18h22
  5. [VBA-E]Ligne separée par des virgules
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 25/04/2006, 14h06

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