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 :

Pas totalement résolu modifer une lettre (string) dans une boucle mais je perds une info...


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut Pas totalement résolu modifer une lettre (string) dans une boucle mais je perds une info...
    Bonjour à tous.

    Grace à joelevrai un nouvel horizon c'est ouvert à moi. J'ai un code de 8 lignes qui doit tourner 12 fois.

    Objectif changer le lieu de stockage de la donnée dans tablo() ca c'est bon
    Mais il faut aussi changer le critère "AAAA" par "AAAB" quand i =2 puis "AAAC" quand i =3.... Cela est il possible parce que là je ne vois pas comment à part recopier 12 fois le code et modifier le critère....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    For i = 1 To 12
     
                With Application.WorksheetFunction
                tablo(i, 1) = .CountIf(maplage2, "AAAA")
                tablo(i, 2) = .MinIfs(MaPlage, maplage2, "AAAA")
                tablo(i, 3) = .MaxIfs(MaPlage, maplage2, "AAAA")
                tablo(i, 4) = .CountIfs(maplage2, "AAAA", MaPlage, "<1000")
                tablo(i, 5) = .CountIfs(maplage2, "AAAA", MaPlage, ">=1000", MaPlage, "<2000")
                tablo(i, 6) = .CountIfs(maplage2, "AAAA", MaPlage, ">=2000", MaPlage, "<3000")
                tablo(i, 7) = .CountIfs(maplage2, "AAAA", MaPlage, ">=3000")
                tablo(i, 8) = .AverageIfs(MaPlage, maplage2, "AAAA")
        End With
     
    next i
    Merci par avance.

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    (Re)bonjour,

    utilise les codes de caractères Chr()

    En majuscule, A = Chr(65), B = Chr(66) etc....


    petit exemple d'alphabet majuscule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub ioi()
    Debug.Print Chr(65)
        For i = 1 To 26
            Debug.Print Chr(64 + i)
        Next i
    End Sub
    Je vais pas plus loin, tu nous a démontré tout à l'heure qu'une simple piste te suffisait pour adapter

  3. #3
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    j'ai trouvé cette solution suis sur qu'il y a plus efficace :
    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
     
    montext = "AAAA"
    For i = 1 To 12
     
                With Application.WorksheetFunction
                tablo(i, 1) = .CountIf(maplage2, montext)
                tablo(i, 2) = .MinIfs(MaPlage, maplage2, montext)
                tablo(i, 3) = .MaxIfs(MaPlage, maplage2, montext)
                tablo(i, 4) = .CountIfs(maplage2, montext, MaPlage, "<1000")
                tablo(i, 5) = .CountIfs(maplage2, montext, MaPlage, ">=1000", MaPlage, "<2000")
                tablo(i, 6) = .CountIfs(maplage2, montext,MaPlage, ">=2000", MaPlage, "<3000")
                tablo(i, 7) = .CountIfs(maplage2, montext, MaPlage, ">=3000")
                tablo(i, 8) = .AverageIfs(MaPlage, maplage2, montext)
        End With
     If i = 1 Then
    montext = Replace(montext, "AAAA", "AAAB")
    End If
    If i = 2 Then
    montext = Replace(montext, "AAAB", "AAAC")
    End If
    If i = 3 Then
    montext = Replace(montext, "AAAC", "AAAD")
    End If
    If i = 4 Then
    montext = Replace(montext, "AAAD", "AAAE")
    End If
    If i = 5 Then
    montext = Replace(montext, "AAAE", "AAAF")
    End If
     
    next i

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
    a = "AAAA"
    Mid(a, Len(a), 1) = Chr(Asc(Mid(a, Len(a), 1)) + 1)
    Debug.Print a
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Rebonjour,

    Je vais pas plus loin, tu nous a démontré tout à l'heure qu'une simple piste te suffisait pour adapter
    J'essaie , je cherche , je teste, je consulte, je mais avec le temps et les indices qui vont biens....

    Merci pour tout

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Ok ok, un prolongement de piste, comment on constitue toutes tes chaines finales

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub UnePiste()
    Const MaChaine As String = "AAA"
    For i = 1 to 12
        Debug.Print MaChaine & Chr(64 + i)
    Next i
    End Sub

  7. #7

  8. #8
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Merci dysorthographie et joelevrai
    Le problème c'est que mon exemple fictif n'est pas bon, car la dernière lettre de mes données ne se suivent pas ...
    Du coup ça complexifie beaucoup la chose...

  9. #9
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    tu vas voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub UnePiste()
    Const MaChaine As String = "AAA"
        For Each element In Array("A", "D", "Z", "B")
            Debug.Print MaChaine & element
        Next element
    End Sub
    tu peux ajouter de la clarté en utilisant une variable tableau pour stocker ton Array

  10. #10
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    génial:

    par contre j'ai pas compris
    tu peux ajouter de la clarté en utilisant une variable tableau pour stocker ton Array

  11. #11
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub UnePiste()
    Dim MaListe()
    Const MaChaine As String = "AAA"
    MaListe = Array("A", "D", "Z", "B")
        For Each element In MaListe
            Debug.Print MaChaine & element
        Next element
    End Sub
    C'est pratique quand :

    - tu dois utiliser plusieurs fois le tableau
    - l'utilisation du tableau est faite en plein milieu d'une grosse procédure

    ==> la mise à jour du tableau se fait à un seul endroit, au tout début de la procédure. Gain de temps pour la maintenance

  12. #12
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Là je dis chapeau. Je viens d’intégrer ce que tu viens de me fournir c'est excellentissime.


    Merci

  13. #13
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut modifier une lettre (string dans une boucle oui mais....
    Zut suite à cette belle optimisation je me retrouve sans mon listing qui me permettait d'effectuer un graphique.
    Avant dans mon code j'avais ces lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = LBound(zone, 1) To UBound(zone, 1)
            'regarde la ligne i et la colonne 4 si la valeur correspond à AA
            If zone(i, 4) = "AA" Then
            c = c + 1
            ReDim Preserve AA(c)
     
            AA(c) = Application.Index(zone, i)
    Cela me permettait de récupérer toutes les valeurs de AA sous forme de listing dans une variable que j'utilisais pour réaliser un graphique.

    Du coup je ne vois plus comment l'alimenter de nouveau...

    Joelevrai et d'autres me diraient probablement de regarder du côté de Application.WorksheetFunction il y en a surement une qui pourrait convenir....
    Une petite piste svp. FIND peut être?

    Merci à tous et bon we

  14. #14
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Avec une ligne d'en-têtes pour tes données (ligne 1) et la possibilité de travailler dans un tableau 2D plutôt qu'un tableau 1D contenant des tableaux 1D
    Un filtre avancé pourrait être utilisé
    http://philippetulliez.developpez.co...dvancedfilter/

    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
    Sub ioi()
    Dim Tabl() ' le tableau 2D qui contiendra les résultats
        ' une feuille ardoise
        With Worksheets.Add
            ' écriture de l'en-tête situé en D1
            .Cells(1, 1).Value = Sheets("Feuil1").Range("D1").Value
            ' le critère de filtrage
            .Cells(2, 1).Value = "AA"
            ' le filtre avancé
            Sheets("Feuil1").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Cells(1, 1).CurrentRegion, .Cells(4, 1)
     
            ' récupération du résultat
            With .Cells(4, 1).CurrentRegion
                Tabl = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value
            End With
     
            ' suppression de la feuille ardoise
            Application.DisplayAlerts = False
                .Delete
            Application.DisplayAlerts = False
        End With
     
        'affichage de la colonne 1 des résultats
        For i = LBound(Tabl, 1) To UBound(Tabl, 1)
            Debug.Print Tabl(i, 1)
        Next i
    End Sub
    Au besoin, on peut créer la ligne d'en-tête puis la supprimer
    Ca évite encore une fois des boucles et des tests, on laisse excel utiliser ses outils natifs, le résultat est instantané !

    Une version sans feuille ardoise : on utilise le filtre avancé deux colonnes après ta plage de données
    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
    Sub ioi()
    Dim Tabl(), Col As Long
        With Sheets("Feuil1")
            Col = .UsedRange.Columns.Count + 2
            .Cells(1, Col).Value = .Range("D1").Value
            .Cells(2, Col).Value = "AA"
            .Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Cells(1, Col).CurrentRegion, .Cells(4, Col)
                With .Cells(4, Col).CurrentRegion
                    Tabl = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value
                End With
            .Cells(1, Col).Resize(.UsedRange.Rows.Count, .UsedRange.Columns.Count / 2).Clear
        End With
     
        For i = LBound(Tabl, 1) To UBound(Tabl, 1)
            Debug.Print Tabl(i, 1)
        Next i
    End Sub

  15. #15
    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
    Bonjour un exemple pour le replace même si les dernières lettre ne se suivent pas
    facon 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    tablo = Array("AAAB", "AAAF", "AAAJ", "AAAM", "AAAO")
    For i = 0 To UBound(tablo)
    tablo(i) = Replace(tablo(i), tablo(i), "AAA" & Chr(Asc(Right(tablo(i), 1)) + 1))
    Next
    Debug.Print Join(tablo, ",")
    End Sub
    facon 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test4()
    tablo = Array("AAAB", "AAAF", "AAAJ", "AAAM", "AAAO")
    For i = 0 To UBound(tablo)
    Mid(tablo(i), 4, 1) = Chr(Asc(Mid(tablo(i), 4, 1)) + 1)
    Next
    Debug.Print Join(tablo, ",")
    'si les longueurs  de chaine ne sont pas identique  alors 
    'Mid(tablo(i), len(tablo(i))-1, 1) = Chr(Asc(Mid(tablo(i), len(tablo(i))-1, 1)) + 1)
     
    End Sub
    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

  16. #16
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Bonjour à Joelevrai et Patricktoulon et à vous tous
    Je vous remercie pour votre retour je test cela et vous tiens au courant .

  17. #17
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Bonjour à tous,

    je regarde le code de Joelevrai en date du 28/04/2017 23h29 ci-dessus.
    J'ai réussi à l'adapter au mien. Mais la partie récupération du résultat ci-dessous me pose problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' récupération du résultat
            With .Cells(4, 1).CurrentRegion
                Tabl = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value
            End With
    On récupère bien les données issues du filtrage AAXX dans la variable Tabl, mais pour AAYY faut il créer une nouvelle variable tableau ou je peux sans problème compléter celle là? Sachant que AAXX peux avoir 10 lignes et AAYY peut en avoir plus de 200...

    Si oui, comment je récupère la partie qui m’intéresse pour faire un graphique de chaque série (AAXX, AAYY, AAZZ...)

    Merci encore à vous.

  18. #18
    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
    Bonjour la reponse est dans la question
    On récupère bien les données issues du filtrage AAXX dans la variable Tabl, mais pour AAYY faut il créer une nouvelle variable tableau ou je peux sans problème compléter celle là? Sachant que AAXX peux avoir 10 lignes et AAYY peut en avoir plus de 200...

    Si oui, comment je récupère la partie qui m’intéresse pour faire un graphique de chaque série (AAXX, AAYY, AAZZ...)

    Merci encore à vous.
    il est bien évident que pour faire des séries pour graphique il faut séparer les données bien entendu
    moi je vois une chose tres simple
    tu filtre
    tu retranscrit dans une colonne différente pour chaque données et voila tu a un tableau avec chaque "AAAxouy ou ce que tu veux "tout du moins leur correspondance
    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. #19
    Membre du Club
    Homme Profil pro
    technicien
    Inscrit en
    Février 2017
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : technicien

    Informations forums :
    Inscription : Février 2017
    Messages : 82
    Points : 48
    Points
    48
    Par défaut
    Merci Partricktoulon pour le retour.

    tu retranscrit dans une colonne différente pour chaque données et voila tu a un tableau avec chaque "AAAxouy ou ce que tu veux "tout du moins leur correspondance
    Le filtre est fait, le listing de chaque AAAX, AAAY... est dans sa feuille propre ça pas de problème grace à joelevrai.

    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
            
    
    Const MaChaine As String = "AA"
    MaListe = Array("AA", "AB", "AD", "AF", "AG", "AZ")
    For Each element In MaListe
    montext = MaChaine & element    
     With Workbooks("copie").Worksheets("dec " & montext)
            ' écriture de l'en-tête situé en D1
            .Cells(1, 1).Value = Workbooks("copie").Worksheets("Feuil1").Range("D1").Value
            ' le critère de filtrage
            .Cells(2, 1).Value = montext
            ' le filtre avancé
            Sheets("Feuil1").Range("A1").CurrentRegion.AdvancedFilter xlFilterCopy, .Cells(1, 1).CurrentRegion, .Cells(4, 1)
            End With
            ' récupération du résultat
            
              With Workbooks("copie").Worksheets("dec " & montext).Cells(4, 1).CurrentRegion
              tablodec() = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count).Value
    Next element
    Mais je butte sur cette fichue ligne de code (en bleue) variable ou je veux garder toutes les données triées (AAAA, puis AAAB ....) pour :
    -les rediriger vers un autre fichier Excel
    -Garder les données (chaque série) pour effectuer mon graphique

    je ne vois pas comment écrire tablodec() pour qu'il se complète dans chaque élément vu que les dimensions ne sont pas les mêmes faut faire un redim preserve je suppose. Ou génerer une une nouvelle variable qui se nommerai tablodec() avec montext. Je tourne en rond....
    Mais je ne vois pas.... Ca

    Merci à vous

  20. #20
    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
    je parierais a 10 contre un que l'erreur est "tableau déjà dimensionné"
    si c'est le cas ma remarque devrait te mettre la puce a l'oreille

    ca qui est certains c'est que si tes colonne(tableaux"AAAxyz...") ne sont pas de taille egales ou contiennent pas le meme type de valeur il va te falloir travailler nom pas avec un tableaux mais avec un tableau dont les items sont des sous tableaux)

    tablo(1)=array(1,2,3,4,5,6,7,8,9)
    tablo(2)=array("a","b","c","d,")

    msgbox ubound(tablo) te donne 2
    msgbox ubound(tablo(2)) te donne 4
    etc.....
    une question !!! tes AAAxyz" sont tous dans une seule colonne au depart????
    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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  2. [MySql]Insérer une variable "string" dans une requête SQL
    Par Saten dans le forum Windows Forms
    Réponses: 9
    Dernier message: 13/10/2008, 17h39
  3. Réponses: 7
    Dernier message: 03/10/2007, 17h58
  4. Position d'une String dans une autre String
    Par avogadro dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/09/2007, 00h19
  5. [Débutant] Validation d'une valeur numérique dans une variable String
    Par anto84 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 11/07/2007, 10h26

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