Excel et Macro

zizou2999 -  
NicoDisso Messages postés 231 Statut Membre -
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. NicoDisso Messages postés 231 Statut Membre 32
     
    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
  2. NicoDisso Messages postés 231 Statut Membre 32
     
    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
  3. NicoDisso Messages postés 231 Statut Membre 32
     
    ok fichier recupere...
    Par contre comment va tu faire ta selection de critere ..?
    1
  4. NicoDisso Messages postés 231 Statut Membre 32
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. NicoDisso Messages postés 231 Statut Membre 32
     
    Merci de ton merci, votes pour le message, ce sera toujours ça de pris...
    1
  7. ixtobilly
     
    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
  8. zizou2999
     
    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
  9. zizou2999
     
    Le voila:

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

    Je te remercie fortement pour ton aide !!
    0
  10. zizou2999
     
    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
  11. zizou2999
     
    Wao WAo WAo!

    Ca marche parfaitement trop trop bien!

    Je te remercie vraiment pour ton aide !!!!!
    0
  12. NicoDisso Messages postés 231 Statut Membre 32
     
    Merci
    0