Creer un interface vba

Résolu
requim Messages postés 3 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 avril 2007 - 21 avril 2007 à 11:20
requim Messages postés 3 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 avril 2007 - 26 avril 2007 à 17:59
Bonjour,


Je dois creer une interface. en colonne en ligne j'ai secteur 1-35 puis semaine 1-52 et ensuite résultat obtenu. donc je dois creer une cheklist pour choisir secteur puis la semaine et enfin entrée le résultat obtenu dans la ligne correspondante a ces deux choix.
Merci!!!

4 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 avril 2007 à 13:08
Salut,

C'est pas très clair, as-tu plus de précisions stp ?
Je suppose qu'il y a des infos à récupérer depuis une feuille Excel à mettre dans ton Interface, mais quelles sont ces plages de données ?
Dans quel type de control veux-tu que cela s'affiche ?

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
requim Messages postés 3 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 avril 2007
22 avril 2007 à 23:43
j'ai crée deux listes secteurs et semaines

j'ai colonne A secteurs, B semaines, C résultat obtenu.

j'ai crée une boite de dialogue. Je voudrais une checklist où on choisirai le secteur puis la semaine et on entrerai le résultat obtenu et quand on clique sur OK le résultat se place au bonne endroit.

J'espère que c'est plus compréhensible. Merci!!!!!
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 avril 2007 à 23:48
Et bien tu peux faire un truc style :

   Dim i As Long

For i = 1 To Range("A65535").End(xlUp).Row   If Cells(i, 1).Text TaListeBoxSecteur.Text And Cells(i, 2).Text TaListeBoxSemaine.Text Then
      Cells(i, 3).Text = "ce que tu veux": Exit For
   End If
Next i

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
requim Messages postés 3 Date d'inscription samedi 27 mai 2006 Statut Membre Dernière intervention 26 avril 2007
26 avril 2007 à 17:59
Private Sub UserForm_Activate()
txt_OR = ""


Dim ad As Integer
Dim ad1 As Integer
ad1 = 2
ad = 2
ComboBoxSemaine.Clear
ComboBoxSecteur.Clear


    Do 'selectionne toutes les données de la colonne et les met dans la liste de la combobox auditeur
        Module1.listesemaine = Sheets("Audits").Cells(ad, 1) 'la liste est égale à la cellule
        ComboBoxSemaine.AddItem (listesemaine) 'ajoute la valeur de liste à la combobox
        ad = 1 + ad 'permet en incrémentant la valeur de equ de décaler la cellule d'une ligne
    Loop Until Sheets("Audits").Cells(ad, 1) = "" 'jusqu'a temps que la cellule active soit une cellule vide


    Do
        Module1.listesecteur = Sheets("Audits").Cells(1, ad1)
        ComboBoxSecteur.AddItem (listesecteur)
        ad1 = 1 + ad1
    Loop Until Sheets("Audits").Cells(1, ad1) = ""


End Sub


Private Sub valider_Click()


Sheets("Audits 5.S.").Select


If ComboBoxSecteur.Value = "Secteur BRET" Then    If ComboBoxSemaine.Value "1" Then Range("B3") txt_OR And Range("B3").NumberFormat = "0"    If ComboBoxSemaine.Value "2" Then Range("C3") txt_OR And Range("C3").NumberFormat = "0"

End If

MsgBox ("Votre audit est bien ajouter!  ")


eUA.Hide


End Sub

Voici le résultat.Merci Mortalino pour ton aidePeut-être que ta méthode était plus simple mais je n'ai pas réussi à appliquer encore merci !!!!
3
Rejoignez-nous