Excel et Macro
Fermé
zizou2999
-
26 mai 2009 à 13:53
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 - 29 mai 2009 à 10:04
NicoDisso Messages postés 230 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 22 août 2009 - 29 mai 2009 à 10:04
A voir également:
- Excel et Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Déplacer colonne excel - Guide
13 réponses
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
28 mai 2009 à 12:30
28 mai 2009 à 12:30
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 ?
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
28 mai 2009 à 18:09
28 mai 2009 à 18:09
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...
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 08:45
29 mai 2009 à 08:45
ok fichier recupere...
Par contre comment va tu faire ta selection de critere ..?
Par contre comment va tu faire ta selection de critere ..?
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 09:51
29 mai 2009 à 09:51
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 09:59
29 mai 2009 à 09:59
Merci de ton merci, votes pour le message, ce sera toujours ça de pris...
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
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
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?
Je dois avouer que je suis perdu !
Ya til une autre solution pour faire les recherches plutôt que de passé par des macro?
Le voila:
http://www.cijoint.fr/cjlink.php?file=cj200905/cijiJO6uuS.xls
Je te remercie fortement pour ton aide !!
http://www.cijoint.fr/cjlink.php?file=cj200905/cijiJO6uuS.xls
Je te remercie fortement pour ton aide !!
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!
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!
NicoDisso
Messages postés
230
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
22 août 2009
32
29 mai 2009 à 10:04
29 mai 2009 à 10:04
Merci