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 :

Aide d�butant instruction VBA tableau Excell


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Par d�faut Aide d�butant instruction VBA tableau Excell
    Bonjour,

    Je souhaite obtenir la valeur d'une cellule d'un tableau � partir de 3 informations

    Du type :


    .......................crit�re1............A ..............B..............C
    crit�re2 ..........crit�re 3
    1........................M.................bon......mauvais........moyen
    2...........................................bon..........bon............bon
    3........................M...............moyen.......bon..........mauvais

    Je dois donc saisir (si possible � partir d'un userform) les informations crit�re 1 et crit�re2 dans un textbox et crit�re 3 dans un checkbox.
    Puis j'aimerai obtenir dans un messagebox : bon

  2. #2
    R�dacteur/Mod�rateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Panseur de bobos en solutions ETL
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par d�faut
    Bonjour,

    Je ne comprends pas ton tableau...
    Pour localiser une valeur en Ligne /Colonne, tu peux par exemple d�finir un objet Range qui selon un index et une boucle For Each/Next peut te renvoyer ce que tu cherches...
    T'es t-il possible de mettre une image de ton tableau Excel ou �tre + explicite pour + de pr�cision concernant tes crit�res...?

    Argy
    Ce qui donne son sens � la communication, c�est la r�ponse que l�on obtient. Si vous n�obtenez pas la r�ponse voulue, communiquez diff�remment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : D�ployez vos applications Access 20102019 */* R�alisez un Assistant de pr�saisie...
    MDB Viewer : Visionneuse Access v4.0

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Par d�faut e
    tout d'abord merci de ta r�ponse

    JE vais essayer d'etre plus clair.

    sur la ligne 1 j'ai une s�rie d'age
    sur la collone A j'ai une s�rie de m�tier
    sur la collone B fille ou gar�on

    � l'int�rieur du tableau des donn�es statistiques

    Je souhaite avec un userform, en lui indiquant age, metier et sexe obtenir dans un message box la donn�e statistique qui y correspond (ou si aucune donn�es correspondante avoir une r�ponse du style inexistant)

  4. #4
    Mod�rateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par d�faut
    Pour t'aider, j'aurais besoin d'un peu plus d'info.

    Y a-t-il gar�on et fille pour chaque m�tier?

    La liste des m�tiers est-elle fig�e ou peut-elle �voluer?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouv� vous-m�me la r�ponse � votre question.
    Si vous trouvez seul, pensez � poster votre solution. Elle peut servir � d'autres!
    Pensez aussi � voter pour les r�ponses qui vous ont aid�s.
    ------------
    Je dois beaucoup de mes connaissances � mes erreurs!

  5. #5
    R�dacteur/Mod�rateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Panseur de bobos en solutions ETL
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par d�faut
    Bonjour,

    Tu peux alors partir de cette base de d�part:
    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
     
    Function QuelleCorrespondance(ByVal Age As Integer, ByVal Metier As String, ByVal Sexe As String) As String
    Dim lngDerniereLigne As Long
    Dim intDerniereColonne As Integer
    Dim oPlage As Range
    Dim oMetier As Range
    Dim I As Integer
    Dim strCorrespondance As String
     
      Range("C1").Select
      intDerniereColonne = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
      Range("A2").Select
      lngDerniereLigne = ActiveCell.SpecialCells(xlCellTypeLastCell).Row
     
      Set oPlage = Range(Cells(2, 1), Cells(lngDerniereLigne, 1))
      For Each oMetier In oPlage
        If oMetier.Value = Metier Then
          If oMetier.Offset(0, 1).Value = Sexe Then
            For I = oMetier.Column To intDerniereColonne
              If Cells(1, I).Value = Age Then
                strCorrespondance = oMetier.Offset(0, I - 1).Value
              End If
            Next
          End If
        End If
      Next
      If Len(strCorrespondance) = 0 Then
        strCorrespondance = "Aucune correspondance"
      End If
      QuelleCorrespondance = strCorrespondance
    End Function
     
    Sub cmdObtenirValeur()
    Dim intAge As Integer, strMetier As String, strSexe As String
     
      intAge = txtAge
      strMetier = txtMetier
      strSexe = txtSexe
     
      MsgBox QuelleCorrespondance(intAge, strMetier, strSexe)
    End Sub
    Argy
    Ce qui donne son sens � la communication, c�est la r�ponse que l�on obtient. Si vous n�obtenez pas la r�ponse voulue, communiquez diff�remment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : D�ployez vos applications Access 20102019 */* R�alisez un Assistant de pr�saisie...
    MDB Viewer : Visionneuse Access v4.0

  6. #6
    Candidat au Club
    Inscrit en
    Septembre 2005
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Par d�faut donc
    La ligne B indique si on parle du m�tier fille ou du m�tier gar�on, et chaque m�tier n'a pas forcement l'un et l'autre.

    C'est une liste fig� non �volutive.

  7. #7
    R�dacteur/Mod�rateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 134
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Panseur de bobos en solutions ETL
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 134
    Billets dans le blog
    5
    Par d�faut
    Petit correction : "Omission" d'un Exit For

    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
    Function QuelleCorrespondance(ByVal Age As Integer, ByVal Metier As String, ByVal Sexe As String) As String 
    Dim lngDerniereLigne As Long 
    Dim intDerniereColonne As Integer 
    Dim oPlage As Range 
    Dim oMetier As Range 
    Dim I As Integer 
    Dim strCorrespondance As String 
     
      Range("C1").Select 
      intDerniereColonne = ActiveCell.SpecialCells(xlCellTypeLastCell).Column 
      Range("A2").Select 
      lngDerniereLigne = ActiveCell.SpecialCells(xlCellTypeLastCell).Row 
     
      Set oPlage = Range(Cells(2, 1), Cells(lngDerniereLigne, 1)) 
      For Each oMetier In oPlage 
        If oMetier.Value = Metier Then 
          If oMetier.Offset(0, 1).Value = Sexe Then 
            For I = oMetier.Column To intDerniereColonne 
              If Cells(1, I).Value = Age Then 
                strCorrespondance = oMetier.Offset(0, I - 1).Value
                Exit For
              End If 
            Next 
          End If 
        End If 
      Next 
      If Len(strCorrespondance) = 0 Then 
        strCorrespondance = "Aucune correspondance" 
      End If 
      QuelleCorrespondance = strCorrespondance 
      Set oPlage = Nothing
    End Function
    Argy
    Ce qui donne son sens � la communication, c�est la r�ponse que l�on obtient. Si vous n�obtenez pas la r�ponse voulue, communiquez diff�remment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : D�ployez vos applications Access 20102019 */* R�alisez un Assistant de pr�saisie...
    MDB Viewer : Visionneuse Access v4.0

Discussions similaires

  1. [XL-2003] Aide sur code VBA sur Excel
    Par Invit� dans le forum Macros et VBA Excel
    R�ponses: 3
    Dernier message: 31/03/2013, 17h14
  2. [VBA-E] connaitre le nombre de ligne dans un tableau excel
    Par bigbarbe dans le forum Macros et VBA Excel
    R�ponses: 4
    Dernier message: 13/04/2006, 10h03
  3. [VBA] ins�rer un tableau Excel dans un formulaire
    Par Alexj51 dans le forum Macros et VBA Excel
    R�ponses: 15
    Dernier message: 08/02/2006, 13h15
  4. [VBA-E]cr�er un tableau Excel en vba
    Par DonKnacki dans le forum Macros et VBA Excel
    R�ponses: 9
    Dernier message: 19/01/2006, 16h06
  5. d�butant en VBA je n'arrive pas � finir ma macro excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 19/01/2005, 12h20

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