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 :

Passer un tableau Variant/String en Variant/Long


Sujet :

Macros et VBA Excel

  1. #21
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bien vu, Franck
    Car un redim re-alloue l'espace en mémoire.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  2. #22
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Oui Jacques.

    Mais dommage que l'on ne puisse pas modifier le typage avec le mot-clé Preserve.

    Ce genre de code aurait été ultra simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Test()
    Dim ref As Variant
     
       ref = Split("1:2:3:4", ":")
       ReDim Preserve ref(LBound(ref) To UBound(ref)) As Long
    End Sub
    Cordialement,
    Franck

  3. #23
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    a oui bien vu franck
    bien que je ne comprenne pas la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve ref(0 To UBound(ref(LBound(ref)))) As Variant
    ca fonctionne
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #24
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour Patrick,

    Regarde, en pas à pas, la fenêtre des variables locales, tu comprendras aisément.
    Cordialement,
    Franck

  5. #25
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour pijaku,

    Intéressant et astucieux pour le challenge. C'est vrai que c'est faisable :-)
    Mais, tu t'en doutes, quitte à faire une boucle et n'étant pas à court de noms pour les variables je préfère la faire pour mettre dans un tableau Long ;-)
    eric

  6. #26
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Patrick,

    cela revient à transformer un Array d'un Array en simple Array
    et comme le premier indice d'un Array est le zéro par défaut
    mais peut aussi être le un si Option Base 1 en tête de module
    Franck a alors préféré éviter cette "simple" démonstration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Demo()
        Dim ref, i&
            ref = Array(Split("0 1 2 3"))
            ReDim Preserve ref(0 To UBound(ref(0)))
        For i = 1 To UBound(ref)
            ref(i) = CLng(ref(0)(i))
        Next i
            ref(0) = CLng(ref(0)(0))
    End Sub
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #27
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour Marc,

    Citation Envoyé par Marc-L Voir le message
    [INDENT=2]mais peut aussi être le un si Option Base 1
    Sauf pour le Split qui lui reste à 0.

    D'où le 0 en "dur" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve ref(0 To
    Et pour l'adaptation en Option Base 0 ou 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     To UBound(ref(LBound(ref)))
    Salut Eric,
    Mais, tu t'en doutes, quitte à faire une boucle et n'étant pas à court de noms pour les variables je préfère la faire pour mettre dans un tableau Long ;-)
    Bien entendu.
    Tu y gagneras certainement en vitesse d'exécution.
    Cordialement,
    Franck

  8. #28
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par pijaku Voir le message
    Sauf pour le Split qui lui reste à 0.
    Salut Franck !     J'évoquais bien Array et non Split


    Citation Envoyé par eriiic Voir le message
    Quelqu'un a une idée si une autre écriture permettrai de réaliser ça ?
    On va pouvoir enfin entrer dans le vif du sujet : oui bien sûr, élémentaire mon cher Watson
    via le B-A-BA d'Excel comme déjà démontré sur ce forum (hein Patrick !) : Evaluate
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #29
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    MarcL ne te moque pas hein

    bon je donne quand meme le lien de cette discution

    un petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test5()
    chaine = "1,2,3,4,5,6,7,8,9"
    tablo = Evaluate("{" & chaine & "}")
    MsgBox "tablo(3)= " & tablo(3) & " est de type " & TypeName(tablo(3))
    End Sub
    parfois la destination c'est le chemin
    A+
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #30
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bah oui, mais Evaluate quoi ?
    J'étais allé sur une feuille avec la chaine dans une cellule et l'inspiration n'a pas été plus loin que "=" :-)

    Edit : ah oui, c'est plus concret là. Merci patrick. C'est court et simple, ça pourra resservir.
    J'étais resté avec mes ":", je ne risquais pas d'arriver à grand chose...

  11. #31
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re ben oui
    ca n'enleve rien a la discussion
    comme je l'ai dis "parfois la destination c'est le chemin"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #32
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    les ":"c'est pas bon c'est ";" et c'est les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test6()
    chaine = "1,2,3,4;7,8,9,10"
        tablo2 = Evaluate("{" & chaine & "}")
    MsgBox tablo2(2, 3) 
    End Sub
    ps: aurais je oublié de mentionner qu'avec cette methode les tableaux etaient en base 1 et non 0

    je le dis ca peut servir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #33
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour

    Citation Envoyé par eriiic Voir le message
    Bonjour à tous,

    J'ai une chaine de nombres que je splitte.
    Pour des raison de performance je voudrais passer le résultat en Long, mais malgré la boucle il reste obstinément en String (?).
    eric
    Par curiosité, J'ai un peu changé ton code original.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test2()
        Dim ref1 As Variant
        Dim i As Long
        Dim a As Long
        ref1 = "1:2:3:4"
        ref1 = Split(ref1, ":")
        For i = 0 To 3
            a = CLng(ref1(i))
            ref1(i) = CLng(ref1(i))
        Next i
    End Sub
    a est vraiment converti en Long. J'ai comme l'impression que c'est juste impossible de mettre dans un tableau en Variant, un élément individuel qui n'est pas du même type que le tableau.

    Et c'est aussi impossible de mettre un élément en string dans un tableau Integer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test3()
        Dim a(2) As Integer
        a(0) = 0
        a(1) = 1
        a(2) = 2
        For i = 0 To 2
            a(i) = CStr(a(i))
        Next
    End Sub
    testé au pas-à-pas Excel 2016. a(1) reste Integer.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  14. #34
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour clement marcotte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    J'ai comme l'impression que c'est juste impossible de mettre dans un tableau en Variant, un élément individuel qui n'est pas du même type que le tableau.
     
     Et c'est aussi impossible de mettre un élément en string dans un tableau Integer
    j'ai l'impression que tu confond le tableau et ses items

    c'est pas tablo qui est en string mais ses item !




    ici c'est tablo qui a la propriété car ce n'est pas un tablo au depart c'est un variant et ses item seront des string puisque issus d' un split
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim tablo as variant
    tablo=split("toto,titi",",")
    ici c'est pour les items la propriété variant et ca me me permet de lui injecter ce que je veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub test3()
    Dim tablo(2) As Variant
    tablo(0) = "toto"
    tablo(1) = 2
    Debug.Print TypeName(tablo)
    Debug.Print TypeName(tablo(0))
    Debug.Print TypeName(tablo(1))
    End Sub
    autrement dit avec un tablo prédimentionné(dim tablo(x,y) as variant ) je peut mettre absolument tout ce que je veux ou presque

    il est evident que si tu declare un tablo dimentionné entres ses parentheses avec une propriété pour ses items tu ne poura pas mettre un autre type que celui declaré

    tout du moins tout ce qui est numerique sera considéré comme string si "as string" par exemple
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #35
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    voilà.
    Lorsqu'on crée un tableau variant, la variable (et non ses éléments) est Variant/Variant.
    Chaque valeur peut être de n'importe quel type, il dépend de ce qu'on y met et peut donc changer.

    Lorsqu'un tableau variant est créé par Split il est Variant/String (voir capture au #10).
    Toutes ses valeurs sont toujours String. On peut y mettre n'importe quel numérique sans erreur de type mais il sera d'office converti en String.
    eric

  16. #36
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Dans le cas présent quel est l'intérêt d'utiliser Evaluate?
    Si ce n'est pour gagner 3 lignes de code?

    La demande initiale est relative à un gain de temps d'exécution.
    Or Evaluate est, il me semble (en tout cas à la maison c'est le cas), plus lente qu'une boucle non?

    Excusez la relance, mais j'aime bien comprendre...


    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
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
     
    Private Const Max As Long = 100000
     
    Sub test5()
    Dim chaine As String, tablo As Variant, i As Long, t#
        t = Timer
        chaine = "1,2,3,4,5,6,7,8,9"
        For i = 1 To Max
            tablo = Evaluate("{" & chaine & "}")
        Next
        Debug.Print Timer - t '3,3203125 sec
    End Sub
     
    Sub Demo()
    Dim ref As Variant, i As Long, j As Long, t#
        t = Timer
        For j = 1 To Max
           ref = Array(Split("1:2:3:4:5:6:7:8:9", ":"))
           ReDim Preserve ref(0 To UBound(ref(LBound(ref)))) As Variant
           For i = LBound(ref) + 1 To UBound(ref)
              ref(i) = CLng(ref(LBound(ref))(i))
           Next i
           ref(LBound(ref)) = CLng(ref(LBound(ref))(0))
        Next
        Debug.Print Timer - t ' 1,20703125 sec
    End Sub
     
    Sub tansfert()
    Dim ref As Variant, t#, i As Long, l() As Long, j As Long
        t = Timer
        For j = 1 To Max
           ref = Split("1:2:3:4:5:6:7:8:9", ":")
           ReDim Preserve l(UBound(ref))
           For i = LBound(ref) To UBound(ref)
              l(i) = CLng(ref(i))
           Next i
        Next
        Debug.Print Timer - t ' 0,67578125 sec
    End Sub
    EDIT : après réflexion, Evaluate est plus rapide sur des chaînes plus longues.
    Gros inconvénient, Evaluate plante lorsque la taille de la chaîne atteint la limite de l'Integer (Len(chaine) = 32 767)
    Cordialement,
    Franck

  17. #37
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Franck
    Ta remarque est on ne saurait plus pertinente.
    La performance d'un code ne se mesure pas aux nombres de caractères qu'il utilise, mais à sa vitesse d'exécution et à la moindre occupation de l'espace mémoire. S'écarter de cet aspect fondamental est s'égarer.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  18. #38
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    je ne comprend pas bien ton test franck

    avec ta methode je comprends que tu boucle mais evaluate n'en a pas besoins ??
    ce que tu fait avec split et ta boucle de conversion :evaluate le fait tout court

    tester les 3
    Nom : demo2.gif
Affichages : 186
Taille : 152,0 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #39
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    La boucle sur le Evaluate est juste là pour obtenir un temps d'exécution notable...
    Cordialement,
    Franck

  20. #40
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    par contre ce que je pige toujours pas c'est ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReDim Preserve ref(0 To UBound(ref(LBound(ref)))) As Variant
    si je dois la traduire
    ref est donc issu du split (ref = Array(Split("1:2:3:4:5:6:7:8:9", ":")))


    ReDim Preserve ref(0 To UBound(ref(LBound(ref)))) As Variant
    la traduction donne

    ReDim Preserve ref(0 To UBound(ref(0))) As Variant
    ce qui donne

    ReDim Preserve ref(0 To Ubound(1)) As Variant

    non je pige pas du tout
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. Passer un tableau de string à un dll c++
    Par marcus7 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2013, 13h53
  2. [COM] Convertion string en VARIANT
    Par themadmax dans le forum C++
    Réponses: 0
    Dernier message: 21/08/2007, 18h26
  3. Réponses: 5
    Dernier message: 04/06/2007, 17h07
  4. Réponses: 10
    Dernier message: 05/02/2007, 11h21
  5. Passer Tableau de String à une procedure.
    Par JFKen dans le forum Access
    Réponses: 3
    Dernier message: 02/08/2006, 16h26

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