Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Base sous excel [ Base de données / XML ] (sofop)

mardi 7 novembre 2006 à 12:15:17 | Base sous excel

sofop

Bonjour, je débute sous visual basic et j'ai besion d'un peu d'aide...

Voila, je crée un site web en ce moment et je cherche à integrer une base "photo".
Pour cette base, j'ai un fichier excel avec :
  
sur la feuille 1, les colonnes suivantes
Nom de la photo | date | lieu ....

Je souhaiterai créer sur la feuille 2 un formulaire de visualisation, c'est à dire avec une combobox qui reprend la colonne "Nom de la photo", et quand on selection une photo, les informations qui lui sont liées (date, lieu...) s'affiche dans des labels par exemple.

Ensuite je pourrai enregistrer en page web et l'integrer à mon site...

Si quelqu'un à une idée

Merci d'avance

mardi 7 novembre 2006 à 13:34:59 | Re : Base sous excel

Drikce06

Membre Club

Salut
colonne A: nomphoto
colonne B: lieu
colonneC:date

un form avec un combobox1, un label1 et un label2

Et voila ce que tu demande:

Public

Class Form1

Dim excelapp As Microsoft.Office.Interop.Excel.Application

Dim DerniereLigne As Integer

Dim i As Integer

Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load

excelapp =

New Microsoft.Office.Interop.Excel.Application

excelapp.Workbooks.Open(

"C:\Classeur1.xls" )

excelapp.ActiveWorkbook.Worksheets(

"Feuil1" ).Select()

PremiereLigneVide(1)

For i = 1 To DerniereLigne

Dim Itemi As String

Itemi = excelapp.ActiveWorkbook.Worksheets(

"Feuil1" ).cells(i, 1).Value

ComboBox1.Items.Add(Itemi)

Next

End Sub

'le super snippet de mortalino
Public
Function PremiereLigneVide( ByVal Colonne As Integer ) As Integer

PremiereLigneVide = excelapp.ActiveWorkbook.Worksheets(

"Feuil1" ).Columns(Colonne).Find( "" ).Row

DerniereLigne = PremiereLigneVide - 1

End Function

Private Sub ComboBox1_SelectedIndexChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

Dim PhotoSelect As String

Dim j As Integer

PhotoSelect = ComboBox1.Text

For j = 1 To DerniereLigne

If excelapp.ActiveWorkbook.Worksheets( "Feuil1" ).cells(j, 1).Value = PhotoSelect Then

Label1.Text = excelapp.ActiveWorkbook.Worksheets(

"Feuil1" ).cells(j, 2).Value

Label2.Text = excelapp.ActiveWorkbook.Worksheets(

"Feuil1" ).cells(j, 3).Value

End If

Next

End Sub

End

Class

 Drikce 06

mardi 7 novembre 2006 à 13:36:27 | Re : Base sous excel

Drikce06

Membre Club
Ps: j'ai pas commenté alors si il y a quelque chose que tu ne comprends demande, mais le code est assez simple à comprendre, il y a rien de compliquer.

 Drikce 06

mardi 7 novembre 2006 à 14:04:07 | Re : Base sous excel

sofop

Merci de ta reponse... je vais essayer.
Le code que tu me donne tu le tappe dans le visual basic editor de excel ou sous visual basic 2005?

Car tu crées une form et les forms ne sont pas exploitable en HTML...

Merci d'avance

mardi 7 novembre 2006 à 14:13:28 | Re : Base sous excel

Drikce06

Membre Club
Salut j'ai fais ça avec vb2005 express edition!
Là j'ai fais le meme avec vba (visual basic editor d'excel) je l'ai enregistrer an html et ça fonctionne!

 Drikce 06

mardi 7 novembre 2006 à 14:16:19 | Re : Base sous excel

Drikce06

Membre Club

    Tu crées un userform avec combobox1, label1 et label2

sur feuil1:
colonne A: nomphoto
colonne B: lieu
colonneC:date

Dim DerniereLigne As Integer
    Dim i As Integer

Private Sub ComboBox1_Change()

        Dim PhotoSelect As String
        Dim j As Integer
        PhotoSelect = ComboBox1.Text

        For j = 1 To DerniereLigne

            If Worksheets("Feuil1").Cells(j, 1).Value = PhotoSelect Then

                Label1.Caption = Worksheets("Feuil1").Cells(j, 2).Value
                Label2.Caption = Worksheets("Feuil1").Cells(j, 3).Value

            End If

        Next
       
End Sub

    Public Function PremiereLigneVide(ByVal Colonne As Integer) As Integer

        PremiereLigneVide = Worksheets("Feuil1").Columns(Colonne).Find("").Row
        DerniereLigne = PremiereLigneVide - 1

    End Function

Private Sub UserForm_Initialize()

        Worksheets("Feuil2").Activate
        PremiereLigneVide (1)

        For i = 1 To DerniereLigne

            Dim Itemi As String
            Itemi = Worksheets("Feuil1").Cells(i, 1).Value
            ComboBox1.AddItem (Itemi)

        Next

End Sub

Et pour afficher le userform à l'ouverture dans Thisworkbook:

Sub Workbook_open()

UserForm1.Show

End Sub

 Drikce 06


mardi 7 novembre 2006 à 14:30:39 | Re : Base sous excel

Drikce06

Membre Club
Ok je l'ai fait en mettant les controle directement sur la feuille 2 sans passer par un userform. Ca marche en xls mais en html non car pour programmer pour des application web tu ne peux pas avec visual basic il faut passer par un autre language. Tu ne peux pas faire ce que tu veux avec vb apparement!

 Drikce 06

mardi 7 novembre 2006 à 14:50:14 | Re : Base sous excel

sofop

Je viens de le faire ca marche bien sous le fichier excel merci....

Mais je ne peux pas l'exporter pour le mettre en .html. Comment peut on faire dans ce cas?

Merci


mardi 7 novembre 2006 à 14:53:17 | Re : Base sous excel

Drikce06

Membre Club
Re comme le dit mon dernier post il faut changer de language!

 Drikce 06

mardi 7 novembre 2006 à 15:08:47 | Re : Base sous excel

Drikce06

Membre Club
Pour programmer avec du html du peux utiliser du vbscript, javascript ou php, mais là je ne sais pas faire désolé!

 Drikce 06



Cette discussion est classé dans : base, web, site, excel, photo


Répondre à ce message

Sujets en rapport avec ce message

ActiveX + web [ par choko ] Est-il possible d'utiliser un contrôle activeX sur un site web d'un serveur (Internet Information Server) J'y suis arrivé mais quand un client utilis Publipostage word avec une base excel et une base de photos dans un repertoire [ par boubou79 ] Boubou79, voila mon soucis, je dois effectuer un courrier de publipostage à partir de données (nom, pr Publipostage sous Word à partir d'une base Excel mais avec insertion de la photo correspondant à chaque personne [ par boubou79 ] Boubou79 je dois effectuer un publipostage sous word et pour chaque courrier généré, insérer la photos de la personne correspondante. Sachant que les Pb connec et requete vba excel [ par alias666 ] Bonjour à tous J'ai un petit soucis concernant un traitement que je veux faire. J'ai besoin d'établir une connexion sur une base SQLServer et ensuite Requête HTTP - site de bourse [ par momogre ] J'ai une base Access dans laquelle je récupère les cours de bourse par l'API wininet. Cela fonctionne bien sous Yahoo car le fichier retourné est du t base access sur le web [ par michelche54 ] bjr, je suis débutant mais je commence à utiliser vos codes qui sont super (enfin quand j'arrive à comprendre...)j'ai un pb :j'ai un petit site en .ne Recordset ADO [ par BOBIMARINE ] Salut,J'utilise les fonctions ADO pour dialoguer avec une base de donnée Excel. J'utilise un objet Recordset pour récupérer des enregistrements de la Macro Excel et enregistrement en Page WEB [ par LUSTRUCRU ] Bonjour à toutes et tous,J'ai réalisé une petite application Excel avec des interfaces VB, outre que je souhaite partager cette apllication sur le ser Texte défilant Excel [ par peisinoe ] Bonjour,Votre site m'a déjà bien aidé, mais voilà, je bloque depuis qq jours sur un problème. J'ai cherché partout, personne n'a la réponse: Je voudra Copier un fichier dans un site web [ par battit64 ] Voila mon probleme ,je cherche à copier un fichier (exemple c:\toto.pdf) vers un site web http://www.toto.com/upload (avec login et mot de passe) en a


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.