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 :

[E-07] Affichage d'un tableau dynamique dans une MsgBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de perchman
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 199
    Points : 90
    Points
    90
    Par défaut [E-07] Affichage d'un tableau dynamique dans une MsgBox
    Bonsoir,

    je suis débutant en VBA et en parcourant les discussions, je n'ai pas trouvé de solution à mon problème.

    Ainsi, je voudrai afficher réellement mon tableau dans une MsgBox et non pas de la manière dont le le fait dans le programme 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
    Option Explicit
     
    Sub saisieTableau(ByRef tableau() As Integer, ByRef dimension As Integer)
        Dim i As Integer
        Dim temp As Integer
        dimension = InputBox("Entrer la dimension du tableau <50: ")
        Do While dimension < 1 Or dimension > 50
            dimension = InputBox("Erreur, la valeur doit être comprise entre 1 et 50. Entrez une nouvelle valeur : ")
        Loop
        i = 0
        Do
            temp = InputBox("Saisir la valeur numéro " & i + 1 & " du tableau : ")
            tableau(i) = temp
            i = i + 1
        Loop While i < dimension
    End Sub
     
    Sub afficheTableau(ByRef tableau() As Integer, ByRef dimension As Integer)
        Dim i As Integer
        Dim affichage As Integer
        For i = 0 To dimension - 1
            affichage = MsgBox(tableau(i), , "")
        Next i
    End Sub
    Sub testExo4TD1()
        Dim tableau(50) As Integer
        Dim dimension As Integer
        Call saisieTableau(tableau(), dimension)
        Call afficheTableau(tableau(), dimension)
    End Sub
    Merci de m'éclairer...

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Un de truc de ce style ?
    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
    41
    42
    Dim tablo() As Variant
    '##########################################################################################################################
    Sub saisieTableau()
        Dim dimension As Variant, i As Integer
     
    recom:
        dimension = InputBox("Introduisez la dimension du tableau (de 1 à 50)", "Dimension Tableau")
     
        If dimension = "" Then
            Select Case MsgBox("Vous n'avez rien introduit" & vbLf & "Voulez-vous quitter la procédure ?", vbQuestion + vbYesNo)
                Case vbYes: Exit Sub
                Case Else: GoTo recom
            End Select
        End If
     
        If dimension < 1 Or dimension > 50 Then
            MsgBox "Veuillez introduire un nombre de 1 à 50", vbExclamation
            GoTo recom
        End If
     
        ReDim tablo(dimension - 1)
     
        For i = 0 To UBound(tablo)
            tablo(i) = InputBox("Veuillez saisir la valeur n° " & i + 1 & " du tableau")
        Next
     
        afficheTableau
    End Sub
    '##########################################################################################################################
    Sub afficheTableau()
        Dim i As Integer, strTablo As String
     
        For i = 0 To UBound(tablo)
            strTablo = strTablo & Chr(10) & tablo(i)
        Next
     
        MsgBox strTablo
    End Sub
    '##########################################################################################################################
    Sub test()
        saisieTableau
    End Sub
    Cdlt

  3. #3
    Membre régulier Avatar de perchman
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 199
    Points : 90
    Points
    90
    Par défaut
    ça me va très bien !!

    Merci beaucoup.


    Question de curiosité: est-il possible d'afficher un tableau avec 2 colonnes ??

    Comme ça :

    1 3
    2 3
    3 2
    4 8

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Ci-dessous le code modifié avec un tableau à 2 dimensions (2 colonnes et un nombre de lignes de 1 à 10)
    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
    41
    42
    43
    Dim tablo() As Variant
    '##########################################################################################################################
    Sub saisieTableau()
        Dim dimension As Variant, i As Integer
     
    recom:
        dimension = InputBox("Introduisez la dimension du tableau (de 1 à 10)", "Dimension Tableau")
     
        If dimension = "" Then
            Select Case MsgBox("Vous n'avez rien introduit" & vbLf & "Voulez-vous quitter la procédure ?", vbQuestion + vbYesNo)
                Case vbYes: Exit Sub
                Case Else: GoTo recom
            End Select
        End If
     
        If dimension < 1 Or dimension > 10 Then
            MsgBox "Veuillez introduire un nombre de 1 à 50", vbExclamation
            GoTo recom
        End If
     
        ReDim tablo(2, dimension - 1)
     
        For i = 0 To UBound(tablo, 2)
            tablo(1, i) = InputBox("Veuillez saisir la valeur n° " & i + 1 & " de la 1ère colonne du tableau")
            tablo(2, i) = InputBox("Veuillez saisir la valeur n° " & i + 1 & " de la 2ème colonne du tableau")
        Next
     
        afficheTableau
    End Sub
    '##########################################################################################################################
    Sub afficheTableau()
        Dim i As Integer, strTablo As String
     
        For i = 0 To UBound(tablo, 2)
            strTablo = strTablo & Chr(10) & tablo(1, i) & Space(7) & tablo(2, i)
        Next
     
        MsgBox strTablo
    End Sub
    '##########################################################################################################################
    Sub test()
        saisieTableau
    End Sub

Discussions similaires

  1. [Conception] Insertion de champs d'un tableau dynamique dans une base de données
    Par loreleï85 dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 12/05/2011, 14h39
  2. [SQL] Modification de champs d'un tableau dynamique dans une base de données
    Par loreleï85 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 27/06/2006, 16h55
  3. Réponses: 1
    Dernier message: 23/06/2006, 11h19
  4. Réponses: 9
    Dernier message: 22/06/2006, 20h06
  5. Affichage d'un tableau perl dans une page HTML
    Par Jim_Nastiq dans le forum Web
    Réponses: 7
    Dernier message: 13/04/2006, 11h27

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