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...
    Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]

  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 : 60
    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
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  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
    Copier sur un seul, c'est du plagiat. Copier sur deux, c'est de la recherche. [Wilson Mizner]

  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 : 60
    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
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

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