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 :

Remplir 2 tableaux via une fonction booléenne filtrant sur un tableau


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 13
    Par défaut Remplir 2 tableaux via une fonction booléenne filtrant sur un tableau
    Bonjour à tous,


    Je cherche à filtrer depuis un tableau via une fonction booléene afin de tirer depuis ce tableau, deux tableaux distincts.

    L'exemple que j'utilise pour cet exercice est un filtre sur une série de mots (en l’occurrence le code phonétique international , donc 26 mots que je souhaite trier en fonction du fait que la première lettre soit une voyelle ou consonne, afin d'obtenir par la suite, un tableau de mots de consonnes et un tableau de mots de voyelles.

    Mais j'ai des problèmes dans le renvoi depuis la fonction pour alimenter ces tableaux.

    J’avoue que je patauge, j'ai essayé de résoudre seul , puis d'utiliser les forums afin de voir les exemples, j'arrive à remplir les conditions, mais je n'arrive pas à retourner de quoi alimenter mes tableaux et je suis perdu.

    Je vous remercie d'avance pour vos réponses qui me permettront de continuer de l'avant en VBA

    PS : PMO, Thèze, votre aide de la dernière fois m'a été d'un très grand secours, merci beaucoup



    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
    Option Explicit
    Option Compare Text
     
    Global ThisWorkbook As Workbook
    Global MyMainSheet As Worksheet
    Global i, j, cmpti, cmptj As Integer
     
    Sub AjoutValeurs()
     
     
          Dim TabInput()
     
          Set ThisWorkbook = ActiveWorkbook
          Set MyMainSheet = ThisWorkbook.Worksheets("Sheet1")
          MyMainSheet.Select
          Dim TabRNG()
          TabRNG = MyMainSheet.Range(Cells(3, 2), Cells(3, 2).End(xlDown))
          Dim MytabCons() As String
          Dim MytabVoy() As String
     
          Dim MotTest()
     
     
     
          For i = 1 To UBound(TabRNG, 1)
            For j = 1 To 1
     
              MsgBox TabRNG(i, j)
              MotTest = TabRNG
              'ConsOuVoy (MotTest(i, j))
              MytabCons(i, j) = EstConsonne(MotTest(i, j))
              MytabVoy(i, j) = EstConsonne(MotTest(i, j))
     
     
     
            Next j
          Next i
     
          MyMainSheet.Range(Cells(3, 4), Cells(3, 4).End(xlDown)) = MytabCons
          MyMainSheet.Range(Cells(3, 5), Cells(3, 5).End(xlDown)) = MytabVoy
     
    End Sub
     
     
     
    Function EstConsonne(ByVal MotTest As String) As Boolean
     
        Dim motConsonne As String
        Dim motVoyelle As String
     
        If Left(CStr(MotTest), 1) = "a" Or Left(CStr(MotTest), 1) = "e" Or Left(CStr(MotTest), 1) = "i" Or Left(CStr(MotTest), 1) = "u" Then
     
            MsgBox MotTest & " commence par une voyelle "
     
            motVoyelle = MotTest
            EstConsonne = False
     
        Else
            MsgBox MotTest & " commence par une consonne"
            EstConsonne = True
        End If
     
     
        If EstConsonne = True Then
          EstConsonne = MotTest
     
     
     
        Else
     
          motVoyelle = MotTest
     
        End If
     
     
    End Function
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. remplir un tableau de structure via une fonction
    Par B65AcR dans le forum Débuter
    Réponses: 2
    Dernier message: 07/01/2014, 17h06
  2. remplir une zone de liste via une fonction
    Par marinaetsonchat dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/08/2011, 12h57
  3. Réponses: 4
    Dernier message: 21/09/2008, 01h24
  4. Retourner 2 tableaux d'une fonction...
    Par TigreRouge dans le forum Langage
    Réponses: 4
    Dernier message: 04/04/2006, 14h32
  5. Réponses: 7
    Dernier message: 20/03/2005, 14h53

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