Programmation VB

Fermé
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007 - 2 mai 2007 à 17:07
PIERROLAGEO Messages postés 1 Date d'inscription mardi 30 août 2022 Statut Membre Dernière intervention 30 août 2022 - 30 août 2022 à 18:29
Bonjour,

1) j'aurais voulus savoir comment programmer en VB une Combobox à partir d'un fichier Excel. Ce fichier comporte 9 onglets et ce sont ces onglets que je souhaiterais pouvoir afficher dans la Combobox puis valider mon choix par un Bouton.

2) je voudrais créer une application VB me permettant de restreindre l'accès à ma base de donnée par un login

Merci pour votre aide.
A voir également:

4 réponses

flofido Messages postés 4 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 4 mai 2007
2 mai 2007 à 19:48
Salut, essaye un truc du genre :

Me.Combobox1.AddItem Worksheets(1).Name
Me.Combobox1.AddItem Worksheets(2).Name
Me.Combobox1.AddItem Worksheets(3).Name
Me.Combobox1.AddItem Worksheets(4).Name
Me.Combobox1.AddItem Worksheets(5).Name
Me.Combobox1.AddItem Worksheets(6).Name
Me.Combobox1.AddItem Worksheets(7).Name
Me.Combobox1.AddItem Worksheets(8).Name
Me.Combobox1.AddItem Worksheets(9).Name



Pour le mot de passe, je crois que tu peux pas que tu puisse utiliser un classeur excel protégé par un mot de passe dans un programme VB
0
PIERROLAGEO Messages postés 1 Date d'inscription mardi 30 août 2022 Statut Membre Dernière intervention 30 août 2022
30 août 2022 à 18:29

Salut Flofido,

    tu te souviens du ski l'hiver 2005 ou 6 ?

Pierre

0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
3 mai 2007 à 23:25
Bonjour Rtom,
Pour le 1)
Il te faudrait créer une User Form, (que j'ai appelée fmListeOngletsClasseur), comme celle-ci dans le classeur de macro personnelle comme ça elle peut servir pour tous les classeurs (cbListeOngletsClasseur est le nom que j'ai donné à la ComboBox dans ma UserForm)
https://imageshack.com/

puis écrire dans son code ce qui suit :

-------------------------------------------------------------------------
Private Sub cbListeOngletsClasseur_Change()
   cbListeOngletsClasseur.MatchRequired = True
   cbListeOngletsClasseur.MatchEntry = fmMatchEntryComplete
End Sub
---------------------------------------------------------------------------
Private Sub cbListeOngletsClasseur_Click()
     Select Case cbListeOngletsClasseur.ListIndex
     End Select
End Sub
---------------------------------------------------------------------------
Private Sub cmdOK_Click()
    Num = (cbListeOngletsClasseur.ListIndex) + 1
        If Num = 0 Then
        MsgBox "Vous n'avez rien sélectionné, RECOMMENCER!!!"
        Unload fmListeOngletsClasseur
        Call ChoixOnglet
        Else
        Sheets.Item(Num).Select
        Unload fmListeOngletsClasseur
        End If
End Sub
---------------------------------------------------------------------------
Private Sub cmdOK_Enter()
Num = (cbListeOngletsClasseur.ListIndex) + 1
        If Num = 0 Then
        MsgBox "Vous n'avez rien sélectionné, RECOMMENCER!!!"
        Unload fmListeOngletsClasseur
        Call ChoixOnglet
        Else
        Sheets.Item(Num).Select
        Unload fmListeOngletsClasseur
        End If
End Sub
---------------------------------------------------------------------------
Private Sub cmdQuitter_Click()
    fmListeOngletsClasseur.Hide
    Unload fmListeOngletsClasseur
End Sub
---------------------------------------------------------------------------
Private Sub UserForm_Initialize()
    Dim Numfeuille As Integer
    Dim NomFeuille As Variant
    
        For Numfeuille = 1 To Worksheets.Count
            NomFeuille = Worksheets(Numfeuille).Name
            cbListeOngletsClasseur.AddItem "" & NomFeuille
        Next Numfeuille
   cbListeOngletsClasseur.Style = fmStyleDropDownCombo
End Sub
----------------------------------------------------------------------------


Ensuite tu crées (dans module du classeur de macro personnelle) une macro appelée ici ChoixOnglet dont le code est le suivant :
Sub ChoixOnglet()
    Load fmListeOngletsClasseur
    fmListeOngletsClasseur.Show
End Sub


J'espère que cela te sera utile, elle fonctionne et je l'utilise tous les jours.
Tiens moi au courant et n'hésite pas si tu as besoin de plus d'infos.

En ce qui concerne le 2)
Pourquoi ne protèges-tu pas ta base de donnée (je suppose faite sur un classeur excel) en faisant : Enregistrer sous , puis quand la bîte est ouverte choisir ---->Outils (en haut à droite)---->choisir "Options générales..., une nouvelle boîte de dialogue s'ouvre où tu peux choisir comment tu veux protéger ton classeur.

-Si tu veux seulement protéger ton classeur en écriture c'est à dire qu'on ne puisse pas modifier ta base de donnée mais qu'on puisse la lire (ouvrir et voir ce qu'il y a dedans), tu mets un mot de passe seulement dans la case à côté de "Mot de passe pour la modification " (que tu devras confirmer en le tapant une deuxième fois) et tu coches la case "Lecture seule recommandée".
-Si tu veux aussi que personne ne puisse y accéder en lecture (ou seulement les personnes qui auront le mot de passe que tu leur donneras), il te faudra, alors,choisir un autremot de passe (différent du premier) que tu mettras dans la case à côté de "Mot de passe pour la lecture" (que tu confirmeras, là aussi en le tapant une deuxième fois).
Là aussi, j'espère avoir répondu à ton attente.

Si ton problème est résolu, penses à mettre ton topic en résolu (tout en haut du topic choix à activer)
Bonne chance et à +
0
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 12:05
Bonjour,

tout d'abord merci aquarelle pour ta réponse au 1, mais j'ai utilisé un "Me.ComboBox1.AddItem Worksheets(2).Name" (9 lignes pour mes 9 onglets et ça me donne un niveau de satisfaction assez bon pour l'utilité que j'en ai).

En ce qui concerne mon 2, je souhaite placer ma BDD dans un coin du réseau ( et ne plus y toucher) et créer une appli pour en visualiser des données dans une fenetre VBA.
Mon but est :
- cliquer sur un raccourci
- ouvrir une fenetre de connexion
- demander le nom utilisateur + un login (avec les lettres en ****)
- passer à la fenetre suivante (que j'ai déjà crée)
0
Bonjour

Pour répondre a votre cas il suffit de faire l'automation avec excel en visual basic ou un fichier texte pour récupérrer les donnée dans un msflexgrid ou combo.

Pour la solution du login sécurisé tu peut créer une table utilisateur et mot de passe par exemple et la lier a une fenetre comme ca tu vérifiera que le login et le mot de passe existe avant de valider.

http://www.maroudev.com
0
Rtom Messages postés 8 Date d'inscription mercredi 2 mai 2007 Statut Membre Dernière intervention 4 mai 2007
4 mai 2007 à 14:03
Ok mais comment tu fais pour créer une "table utilisateur" ?

Merci :D
0