Excel et Macro

Bonjour,

Voila mon problème:

J'ai créé une base de donnée de l'ensemble des téléphones mobiles avec environ 10 caractéristiques par modèles.
J'ai fait cela en mettant une marque par page. J'ai donc 8 pages différentes.

ce que je souhaite faire est une macro qui me permettent d'afficher la marque de l'ensemble des mobiles puis, une fois choisit, les modèles de la marque et enfin, je souhaite qu'un Oui ou non s'affiche en fonction de présence ou non d'au moins 3 critères prédéfinit.

Comme je suis débutant, je vous demande votre aide..

Merci
Configuration: Windows XP
Firefox 3.0.10

13 réponses

  1. Tes débutant mais tu as de grandes idées.

    en ce qui concerne les macros Excell, moi je me sers bcp de l'enregistreur automatique. (outil -> Macro -> enregistreur de macro) sous Office 2003

    En fait, je le déclenche et je fais tout ce que j'ai à faire manuellement. Ensuite, je vais dans le code pr des modifs. Il suffit de s'y connaitre un peu en VB et en progrmmation. C'est beaucoup plus accessible comme ça et en plus t'as pas besoin d'être un champion de VBA.

    J'espère que ce petit topo va t'aider.

    Bye
    0
    1. Je te remercie pour ton aide mais cela ne marche malheureusement pas !

      Je dois avouer que je suis perdu !

      Ya til une autre solution pour faire les recherches plutôt que de passé par des macro?
      0
      1. donc en fait, tu saisis trois criteres, et tu veux que ta macro parcoure toutes les lignes de toutes les feuilles afin de trouver les téléphones correspondant ?
        1
        1. Mets ton fichier en ligne sur cijoint.fr et mets moi le lien en post ( prive ou non ) afin que j'ai le schema de tes feuilles de donnée...
          1
          1. Le voila:

            http://www.cijoint.fr/cjlink.php?file=cj200905/cijiJO6uuS.xls

            Je te remercie fortement pour ton aide !!
            0
            1. ok fichier recupere...
              Par contre comment va tu faire ta selection de critere ..?
              1
              1. Voila ce que je désire:

                Je souhaite que en fonction de la marque choisit, les modèles de cette marques s'affichent. Puis la personne va choisir son modèle parmi la liste.
                Une fois le modèle choisit, devra apparaitre la chose suivante "Compatible" ou "Incompatible".

                Pour vérifier le compatibilité, je souhaite qu'il y ait 3 critères:

                1) La présence du bluetooth
                2) La présence du JSR 82 et 135 (il faut que les 2 soit présent)
                3) Que dans la dernière colonne (Mémoire JAR) apparaisse "Oui"

                Si les 3 critères sont présent, doit apparaitre "Compatible"!

                Et si j'ajoute un nouveau mobile dans cette liste de téléphones, j'aimerais qu'il soit automatiquement inclus dans la macro!
                0
                1. Et ba rien que ca !
                  Comme je suis joueur, je t'ai meme rajoute lorsque tu double cliques sur la liste, la possibilité d'aller directement dans la feuille sur le téléphone associé...

                  http://www.cijoint.fr/cjlink.php?file=cj200905/cijP7acfUQ.xls

                  pour ceux que ca intéresse, ci dessous le code utilisé...
                  à coller dans une userform
                  sur la feuille mettre

                  un combobox, nom Cmb_Marque
                  un commandbutton, Cmd_Valide_Marque
                  un listview, Lst_Appareils

                  et coller le code ci dessous dans la feuille

                  Private Sub Cmb_Marque_Change()

                  Call Cmb_Marque_Click

                  End Sub

                  Private Sub Cmb_Marque_Click()

                  If Cmb_Marque.Text = "" Then
                  Cmd_Valide_Marque.Enabled = False
                  Else
                  Cmd_Valide_Marque.Enabled = True
                  End If

                  Call RAZ_Resultat

                  End Sub

                  Private Sub RAZ_Resultat()

                  With Lst_Appareils
                  .ListItems.Clear
                  .ColumnHeaders.Clear
                  .ColumnHeaders.Add , , , 0, 0
                  .ColumnHeaders.Add , , "Référence", 240, 2
                  .ColumnHeaders.Add , , "Compatibilité", 65, 2
                  End With

                  End Sub

                  Private Sub Cmd_Valide_Marque_Click()

                  Dim I As Integer
                  Dim It_Appareil As ListItem
                  Dim Sub_It_Appareil As ListSubItem

                  On Local Error Resume Next
                  I = 2
                  Do Until Worksheets("" & Cmb_Marque.Text & "").Cells(I, 1).Value = ""
                  Set It_Appareil = Lst_Appareils.ListItems.Add(, , I)
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , Worksheets("" & Cmb_Marque.Text & "").Cells(I, 1).Value)
                  'BLUETOOTH
                  If Worksheets("" & Cmb_Marque.Text & "").Cells(I, 4).Value <> "" Then
                  'JSR 82
                  If InStr(1, Worksheets("" & Cmb_Marque.Text & "").Cells(I, 9).Value, "82") <> 0 Then
                  'JSR 135
                  If InStr(1, Worksheets("" & Cmb_Marque.Text & "").Cells(I, 9).Value, "135") <> 0 Then
                  'MEMOIRE JAR
                  If StrConv(Worksheets("" & Cmb_Marque.Text & "").Cells(I, 18).Value, vbUpperCase) = "OUI" Then
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , "OUI")
                  Sub_It_Appareil.ForeColor = vbBlue
                  Else
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , "NON")
                  Sub_It_Appareil.ForeColor = vbRed
                  End If
                  Else
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , "NON")
                  Sub_It_Appareil.ForeColor = vbRed
                  End If
                  Else
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , "NON")
                  Sub_It_Appareil.ForeColor = vbRed
                  End If
                  Else
                  Set Sub_It_Appareil = It_Appareil.ListSubItems.Add(, , "NON")
                  Sub_It_Appareil.ForeColor = vbRed
                  End If
                  I = I + 1
                  Loop
                  Lst_Appareils.Refresh
                  On Local Error GoTo 0

                  Sheets("Caractéristiques générales").Activate

                  End Sub

                  Private Sub Lst_Appareils_DblClick()

                  On Local Error Resume Next
                  Sheets("" & Cmb_Marque.Text & "").Select
                  Dim Ligne As Long
                  Ligne = Lst_Appareils.SelectedItem.Text
                  Rows("" & Ligne & ":" & Ligne & "").Select
                  On Local Error GoTo 0
                  End Sub

                  Private Sub UserForm_Initialize()

                  Dim Sh As Worksheet

                  For Each Sh In Worksheets
                  Select Case Sh.Name
                  Case "Caractéristiques générales"
                  Case "Evolution mondiale"
                  Case Else
                  Cmb_Marque.AddItem Sh.Name
                  End Select
                  Next Sh

                  Call RAZ_Resultat

                  End Sub
                  1
                  1. Wao WAo WAo!

                    Ca marche parfaitement trop trop bien!

                    Je te remercie vraiment pour ton aide !!!!!
                    0
                    1. Merci de ton merci, votes pour le message, ce sera toujours ça de pris...
                      1