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 :

VBA help 2015


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Par défaut VBA help 2015
    Bonjour,
    - Langage de programmation : VBA
    - Système d'exploitation : Win,mac
    - Logiciel et outils utilisé : Excel
    - Code ou partie de code concerné :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    Sub remplir(tableau)
        Dim i As Integer
        For i = LBound(tableau) To UBound(tableau)
            tableau(i) = InputBox("entrez le chiffre de rang " & i)
        Next i
    End Sub
    ----------------------------------------------------------------------------
    Sub afficheTab(tableau)
        Dim i As Integer
        Dim texte As String
        texte = ""
        For i = LBound(tableau) To UBound(tableau)
            texte = texte & tableau(i) & Chr(13)
        Next i
        MsgBox (texte)
    End Sub
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un ForEach
    Sub afficheTabEach(tableau)
     
    End Sub
    ----------------------------------------------------------------------------------------
    Sub P_P_1()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call afficheTabEach(liste)
    End Sub
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un While
    Sub afficheTabWhile(tableau)
     
    End Sub
    --------------------------------------------------------------------------------------------------
    Sub P_P_2()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call afficheTabWhile(liste)
    End Sub
    -----------------------------------------------------------------------------------------------------
    ' retourne le nombre d'éléments du tableau inférieur au paramètre nb
    Function compteur(tableau, nb)
    For Each element In tableau
        If element < nb Then
            cpt = cpt + 1
        End If
    Next element
     
    compteurFE = cpt
    End Function
    ----------------------------------------------------------------------------------------------------
    Sub P_P_3()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (compteur(liste, nombre))
    End Sub
    ' retourne la somme des ecarts avec le paramètre nb
    Function ecarts(tableau, nb)
     
    End Function
    --------------------------------------------------------------------------------------------------
    Sub P_P_4()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (ecarts(liste, nombre))
    End Sub
    ' retourne si un nombre multiple de nb se trouve dans le tableau
    Function appartient(tableau, nb)
     
     
    End Function
    --------------------------------------------------------------------------------------------------------
    Sub P_P_5()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (appartient(liste, nombre))
    End Sub
    ' retourne la somme des éléments se trouvant entre place1 et place2
    Function sommePlace(tableau, place1, place2)
     
     
     
    End Function
    -----------------------------------------------------------------------------------------------------
    Sub P_P_6()
        Dim liste(4) As Integer
        Dim nb1 As Integer
        Dim nb2 As Integer
        Call remplir(liste)
        nb1 = InputBox("entrez le rang de départ")
        nb2 = InputBox("entrez le rang de fin")
        MsgBox (sommePlace(liste, nb1, nb2))
    End Sub
    ' retourne le nombre decellules en gras
    Function gras(cellules)
     
    End Function
    -------------------------------------------------------------------------------------------
    ' affiche dans la colonne C
    ' le nom et le prènom séparés par un espace
    ' des noms de la colonne A
    ' des prénoms de la colonne B
    Sub nomPrenom()
    End Sub
    ' remplace tous les nombres supérieurs à nb par nb
    Sub limite(tableau, nb)
    End Sub
    -----------------------------------------------------------------------------------------------
    Sub P_P_7()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        Call limite(liste, nombre)
        Call afficheTab(liste)
    End Sub
    -------------------------------------------------------------------------------------------------
    ' retourne combien d'éléments sont commun aux deux tableaux
    Function compare(tableau1, tableau2)
    End Function
    Sub P_P_8()
        Dim liste1(4) As Integer
        Dim liste2(4) As Integer
        Call remplir(liste1)
        Call remplir(liste2)
        MsgBox (compare(liste1, liste2))
    End Sub
     
    ------------------------------------------------------------------------------------------
    ' met en couleur les cellules à partir de D1
    ' avec les valeurs du tableau
    ' utilisez ColorIndex
    Sub couleur(tableau)
    End Sub
    Sub P_P_9()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call couleur(liste)
    End Sub
    - Explication lié à votre problème : je voudrais faire fonctionner toutes les formules en commentaire en gris

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour,
    - Forum : développez.com
    - Politesse : indispensable
    - Règles : explicitation d'un problème concret ou du point de blocage
    - Directives : non autorisées
    - Communauté : réactive lorsque les éléments précédents sont respectés
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Bonjour()
    MsgBox "J'apprends à écrire un post."
    End Sub
    - Précisions personnels : devoirs/contrôles ou pas, la communauté souhaite savoir ce qu'il te bloque avant de t'aider.

    Merci.
    Bonsoir.

  3. #3
    Membre confirmé
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Par défaut VBA help 2015
    Bonjour,
    Bonjour,
    - Forum : développez.com
    - Politesse : indispensable
    - Règles : explicitation d'un problème concret ou du point de blocage
    - Directives : non autorisées
    C'est bien un devoir , c'est juste le fichier qui s'apelle controle. j'essaye et j'essaye encore mais ce qui me bloque c'est a peut prés tous,donc si explication il y a , je prend.
    Merci d'avance

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    On a plutôt l'impression d'avoir un robot plutôt qu'un être humain qui pose une question.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Par défaut vba help 2015
    Lol non pas du tout

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je ne reviendrais pas sur ce que mes homologue ont déjà dit.

    Donc entrons dans le vive du sujets!

    Pour une débutante, je trouve ton code relativement bien. Des procédures en veux tu en voilà bien!

    Il serait intéressant, à mon avis, de faire des procédures de tests pour chaque un avec le passage de paramètres qui va bien, avant de ce lancer tête baissée dans un projet qui les utilises.

    Ça s'appelle les tests unitaires!


    Ainsi tu disposerais de toute l'attitude pour nous en parler!

  7. #7
    Inactif  

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

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Forum : Excel
    Règle1 : Pas de fichier-joint à la première question. Les fichiers-points sont une solution de dernier recours quand une question est posée adéquatement et que les réponses fournies ne permettent vraiment pas d'obtenir une solution satisfaisante
    Règle2 : En VBA il est inutile d'ajouter CALL, sauf pour les appels à l'API.

  8. #8
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour lapetitebeurette,

    Et puisque je suis de meilleur humeur, et puisque je ne suis pas un tyran, et puisque j'aime bien parfois être sympa, voici pour toi :
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    '************************** DEBUT *******************************'
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un ForEach
     
    'Je suppose ici que les tableaux sont à une dimension et sont "Setés" de la forme suivante : Dim oTable(x) avec x le nombre de valeur
    Sub afficheTabEach(tableau)
    Dim oStr As String
    Dim oCount As Long
    Dim oEle
     
    oCount = LBound(tableau)
    oStr = ""
    For Each oEle In tableau
        oStr = oStr & vbCrLf & oEle
    Next oEle
    MsgBox oStr
     
    End Sub
    '*******************************  FIN  *******************************'
     
    '******************************* DEBUT *******************************'
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un While
     
    'Je suppose ici que les tableaux sont à une dimension et sont "Setés" de la forme suivante : Dim oTable(x) avec x le nombre de valeur
    Sub afficheTabWhile(tableau)
    Dim oStr As String
    Dim oCount As Long
     
    oCount = LBound(tableau)
    oStr = ""
    While oCount <= UBound(tableau)
        oStr = oStr & vbCrLf & tableau(oCount)
        oCount = oCount + 1
    Wend
    MsgBox oStr
     
    End Sub
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' retourne la somme des ecarts avec le paramètre nb
    Function ecarts(tableau, nb)
    Dim i As Long
    Dim diff As Double
     
    diff = 0
    For i = LBound(tableau) To UBound(tableau)
        diff = diff + (tableau(i) - nb)
    Next i
    MsgBox diff
    ecarts = diff
     
    End Function
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' retourne si un nombre multiple de nb se trouve dans le tableau
    Function appartient(tableau, nb)
    Dim i As Long
    Dim oBool As Boolean
     
    oBool = False
    For i = LBound(tableau) To UBound(tableau)
        If (tableau(i) Mod nb) = 0 Then
            oBool = True
            Exit For
        End If
    Next i
    MsgBox oBool
    appartient = oBool
     
    End Function
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' retourne la somme des éléments se trouvant entre place1 et place2
    Function sommePlace(tableau, place1, place2)
    Dim oMin As Long
    Dim oMax As Long
    Dim i As Long
    Dim oSum As Double
     
    oMin = Application.min(place1, place2)
    oMax = Application.max(place1, place2)
     
    If oMin < LBound(tableau) Or oMax > UBound(tableau) Then
        MsgBox "La paramètre sont incorrects."
        Exit Function
    Else
        oSum = 0
        For i = oMin To oMax
            oSum = oSum + tableau(i)
        Next i
        MsgBox oSum
        sommePlace = oSum
    End If
     
    End Function
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' retourne le nombre decellules en gras
    Function gras(cellules)
    Dim oCell As Range
    Dim oSum As Double
     
    oSum = 0
    For Each oCell In cellules
        If oCell.Font.Bold = True Then
            oSum = oSum + 1
        End If
    Next oCell
    MsgBox oSum
    gras = oSum
     
    End Function
    '*******************************  FIN  *******************************'
     
     
     
    '******************************* DEBUT *******************************'
    ' affiche dans la colonne C
    ' le nom et le prènom séparés par un espace
    ' des noms de la colonne A
    ' des prénoms de la colonne B
    Sub nomPrenom()
    Dim oRng As Range
     
    With Worksheets("Feuil1")
        Set oRng = .Range("C1")
        For i = 0 To .Cells(Rows.Count, 1).End(xlUp).Row - 1
            oRng.Offset(i, 0) = oRng.Offset(i, -2) & " " & oRng.Offset(i, -1)
        Next i
    End With
     
    End Sub
    '*******************************  FIN  *******************************'
     
     
     
    '******************************* DEBUT *******************************'
    ' remplace tous les nombres supérieurs à nb par nb
    Sub limite(tableau, nb)
    Dim i As Long
     
    For i = LBound(tableau) To UBound(tableau)
        If tableau(i) > nb Then
            tableau(i) = nb
        End If
    Next i
    afficheTabWhile (tableau)
     
    End Sub
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' retourne combien d'éléments sont commun aux deux tableaux
    Function compare(tableau1, tableau2)
    Dim i As Long, j As Long
    Dim oCount As Long
     
    oCount = 0
    For i = LBound(tableau1) To UBound(tableau1)
        For j = LBound(tableau2) To UBound(tableau2)
            If tableau1(i) = tableau2(j) Then
                oCount = oCount + 1
            End If
        Next j
    Next i
    MsgBox oCount
    compare = oCount
     
    End Function
    '*******************************  FIN  *******************************'
     
     
    '******************************* DEBUT *******************************'
    ' met en couleur les cellules à partir de D1
    ' avec les valeurs du tableau
    ' utilisez ColorIndex
    Sub couleur(tableau)
    Dim i As Long
    Dim oRng As Range
    Dim oVal As Long
     
    oVal = UBound(tableau)
    With Worksheets("Feuil1")
        Set oRng = .Range("D1")
        For i = 0 To UBound(tableau) - LBound(tableau)
            oRng.Offset(i, 0).Interior.ColorIndex = tableau(oVal)
            oVal = oVal + 1
        Next i
    End With
     
    End Sub
    '*******************************  FIN  *******************************'


    Par contre je n'ai testé qu'à moitié. Je te laisse faire les vérifications !
    N'hésite pas à revenir vers moi.

    Cordialement,
    Kimy

  9. #9
    Membre confirmé
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Par défaut VBA help 2015
    Bonsoir,
    Merci Kimy_Ire pour le code. Je me suis enfin mis a essayer d'une maniére plus facile pour moi donc si il a des erreurs veuillez me le dire ou corrigé svp =)
    Merci d'avcance

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    Sub remplir(tableau)
        Dim i As Integer
        For i = LBound(tableau) To UBound(tableau)
            tableau(i) = InputBox("entrez le chiffre de rang " & i)
        Next i
    End Sub
    ............................................................................................
    Sub afficheTab(tableau)
        Dim i As Integer
        Dim texte As String
        texte = ""
        For i = LBound(tableau) To UBound(tableau)
            texte = texte & tableau(i) & Chr(13)
        Next i
        MsgBox (texte)
    End Sub
    .....................................................................................................
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un ForEach
    Sub afficheTabEach(tableau)
     Dim i As Integer
        Dim texte As String
        texte = ""
        For Each element In tableau
            texte = texte & element & Chr(13)
        Next element
        MsgBox (texte)
    End Sub
    ....................................................................................................
    Sub P_P_1()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call afficheTabEach(liste)
    End Sub
    ....................................................................................................
    ' Affiche les éléments du tableau les uns sous les autres
    ' utilisez un While
    Sub afficheTabWhile(tableau)
     Dim i As Integer
        Dim texte As String
        texte = ""
        While i <= UBound(tableau)
            texte = texte & tableau(i) & Chr(13)
        i = i + 1
        Wend
        MsgBox (texte)
    End Sub
    Sub P_P_2()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call afficheTabWhile(liste)
    End Sub
    ....................................................................................................
    ' retourne le nombre d'éléments du tableau inférieur au paramètre nb
    Function compteur(tableau, nb)
    For Each element In tableau
        If element < nb Then
            cpt = cpt + 1
        End If
    Next element
     
    compteurFE = cpt
    End Function
    ....................................................................................................
    Sub P_P_3()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (compteur(liste, nombre))
    End Sub
    ....................................................................................................
    ' retourne la somme des ecarts avec le paramètre nb
    Function ecarts(tableau, nb)
    For i = LBound(tableau) To UBound(tableau)
            If nb > tableau(i) Then
            ecarts = nb - tableau(i)
            ecarts = ecarts + tableau(i)
            End If
            If nb < tableau(i) Then
            ecarts = tableau(i) - nb
            ecarts = ecarts + tableau(i)
            End If
     
        Next i
     
    ecarts = ecarts
    End Function
    ....................................................................................................
    Sub P_P_4()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (ecarts(liste, nombre))
    End Sub
    ....................................................................................................
    ' retourne si un nombre multiple de nb se trouve dans le tableau
    Function appartient(tableau, nb)
    For i = LBound(tableau) To UBound(tableau)
            If tableau(i) = nb * i Then
                nb = tableau(i)
     
            End If
        Next i
     
    appartient = nb
     
    End Function
    ....................................................................................................
    Sub P_P_5()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        MsgBox (appartient(liste, nombre))
    End Sub
    ....................................................................................................
    ' retourne la somme des éléments se trouvant entre place1 et place2
    Function sommePlace(tableau, place1, place2)
     
        For Each element In tableau
            If element > place1 And element < place2 Then
                If element = place2 - place1 Then
                End If
            End If
        Next element
     
    sommePlace = cpt
     
    End Function
    ....................................................................................................
    Sub P_P_6()
        Dim liste(4) As Integer
        Dim nb1 As Integer
        Dim nb2 As Integer
        Call remplir(liste)
        nb1 = InputBox("entrez le rang de départ")
        nb2 = InputBox("entrez le rang de fin")
        MsgBox (sommePlace(liste, nb1, nb2))
    End Sub
    ....................................................................................................
    ' retourne le nombre decellules en gras
    Function gras(cellules)
     If cellules.Font.Bold = True Then
                cpt = cpt + 1
            End If
     
    nbgras = cpt
     
    End Function
    ....................................................................................................
    ' affiche dans la colonne C
    ' le nom et le prènom séparés par un espace
    ' des noms de la colonne A
    ' des prénoms de la colonne B
    Sub nomPrenom()
    End Sub
    ....................................................................................................
    ' remplace tous les nombres supérieurs à nb par nb
    Sub limite(tableau, nb)
     
    For i = LBound(tableau) To UBound(tableau)
            If tableau(i) > nb Then
                tableau(i) = nb
            End If
        Next i
    End Sub
    ....................................................................................................
    Sub P_P_7()
        Dim liste(4) As Integer
        Dim nombre As Integer
        Call remplir(liste)
        nombre = InputBox("entrez un nombre")
        Call limite(liste, nombre)
        Call afficheTab(liste)
    End Sub
    ....................................................................................................
    ' retourne combien d'éléments sont commun aux deux tableaux
    Function compare(tableau1, tableau2)
    End Function
    ....................................................................................................
    Sub P_P_8()
        Dim liste1(4) As Integer
        Dim liste2(4) As Integer
        Call remplir(liste1)
        Call remplir(liste2)
        MsgBox (compare(liste1, liste2))
    End Sub
    ....................................................................................................
    ' met en couleur les cellules à partir de D1
    ' avec les valeurs du tableau
    ' utilisez ColorIndex
    Sub couleur(tableau)
    End Sub
    ....................................................................................................
    Sub P_P_9()
        Dim liste(4) As Integer
        Call remplir(liste)
        Call couleur(liste)
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Affichage de résutats dans textbox help
    Par sebek_2000 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/02/2007, 16h28
  2. [VBA-E] Help création d'un programme vba pour excel
    Par yampi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2007, 11h46
  3. [VBA] Passer un argument à un formulaire [HELP]
    Par billyboy dans le forum Access
    Réponses: 2
    Dernier message: 27/05/2006, 18h14
  4. [VBA-E]Erreur 2015
    Par Bernardtapis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/03/2006, 11h35
  5. [VBA-E] [help]macro pour dupliquer une feuille (en valeur)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 07/11/2005, 19h24

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