begin process at 2008 07 04 23:38:06
1 204 994 membres
509 nouveaux aujourd'hui
14 118 membres club

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 !

(VB 2005) CHARGER UN COMBOBOX À PARTIR D'EXCEL


Information sur la source

Catégorie :VB.NET Source .NET ( DotNet ) Classé sous : combobox, excel, charger Niveau : Débutant Date de création : 13/02/2006 Vu / téléchargé: 23 779 / 2 440

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Ce code montre comment charger un Combobox à partir de cellules Excel (aussi comment y ajouter une nouvelle valeur).
Je le poste surtout pour compléter le peu des sources pour VB 2005.

Source

  • Imports System
  • Imports System.Data
  • Imports Excel
  • Public Class Form1
  • Inherits System.Windows.Forms.Form
  • Dim Appli As New Excel.Application
  • ' Déclarations pour classeur Excel
  • Dim Classeur As Excel.Workbook
  • Dim Feuille As Excel.Worksheet
  • Dim NomClasseur As String = "V:\Préfabriqué\TestVB.xls"
  • Dim i As Short ' Compteur
  • Dim VarTrav As String ' Variable de travail
  • Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  • OuvrirClasseur()
  • ' Chargement du Combobox
  • i = 1
  • Do Until Feuille.Cells(i, 2).value2 Is Nothing
  • ' Noter qu'il ne peut pas y avoir de lignes vides
  • VarTrav = Feuille.Cells(i, 2).value2
  • ComboBox1.Items.Add(VarTrav)
  • i = i + 1
  • Loop
  • FermerClasseur()
  • End Sub
  • Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  • ' Ajout dans le Combobox
  • VarTrav = TextBox1.Text
  • ComboBox1.Items.Add(VarTrav)
  • OuvrirClasseur()
  • ' Recherche du prochain emplacement libre
  • i = 1
  • Do Until Feuille.Cells(i, 2).value2 Is Nothing
  • ' Recherche de doublons
  • If VarTrav = Feuille.Cells(i, 2).value2 Then
  • MsgBox("***** CLIENT EXISTE DÉJÀ, PAS D'AJOUT *****")
  • FermerClasseur()
  • Exit Sub
  • End If
  • i = i + 1
  • Loop
  • Feuille.Cells(i, 2) = VarTrav
  • ' Pas besoin de tri dans le classeur avec la propriété
  • ' du Combobox : sorted = true
  • ' Sauvegarde du classeur
  • Classeur.Save()
  • FermerClasseur()
  • End Sub
  • Private Sub OuvrirClasseur()
  • Appli.Visible = False ' Application visible
  • Appli.DisplayAlerts = False ' Inactivation des alertes
  • ' Ouverture du classeur
  • Try
  • Appli.Workbooks.Open(NomClasseur)
  • Catch ex As Exception
  • MsgBox("***** IMPOSSIBLE D'OUVRIR LE FICHIER EXCEL *****")
  • End Try
  • ' Initialisation Classeur et Feuille Excel
  • Classeur = CType(Appli.Workbooks(1), Excel.Workbook)
  • Feuille = CType(Classeur.Worksheets("Saisie"), Excel.Worksheet)
  • End Sub
  • Private Sub FermerClasseur()
  • ' Fermeture du classeur
  • Try
  • Appli.Visible = True
  • Appli.DisplayAlerts = True
  • Appli.Quit()
  • Catch ex As Exception
  • End Try
  • End Sub
  • End Class
Imports System
Imports System.Data
Imports Excel

Public Class Form1
    Inherits System.Windows.Forms.Form

    Dim Appli As New Excel.Application

    '       Déclarations pour classeur Excel
    Dim Classeur As Excel.Workbook
    Dim Feuille As Excel.Worksheet
    Dim NomClasseur As String = "V:\Préfabriqué\TestVB.xls"

    Dim i As Short               '   Compteur
    Dim VarTrav As String        '   Variable de travail

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

        OuvrirClasseur()

        '       Chargement du Combobox
        i = 1
        Do Until Feuille.Cells(i, 2).value2 Is Nothing
            '       Noter qu'il ne peut pas y avoir de lignes vides
            VarTrav = Feuille.Cells(i, 2).value2
            ComboBox1.Items.Add(VarTrav)
            i = i + 1
        Loop

        FermerClasseur()

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        '       Ajout dans le Combobox
        VarTrav = TextBox1.Text
        ComboBox1.Items.Add(VarTrav)

        OuvrirClasseur()

        '       Recherche du prochain emplacement libre
        i = 1
        Do Until Feuille.Cells(i, 2).value2 Is Nothing
            '       Recherche de doublons
            If VarTrav = Feuille.Cells(i, 2).value2 Then
                MsgBox("*****  CLIENT EXISTE DÉJÀ, PAS D'AJOUT  *****")
                FermerClasseur()
                Exit Sub
            End If
            i = i + 1
        Loop
        Feuille.Cells(i, 2) = VarTrav
        '       Pas besoin de tri dans le classeur avec la propriété
        '       du Combobox : sorted = true

        '       Sauvegarde du classeur
        Classeur.Save()
        FermerClasseur()

    End Sub

    Private Sub OuvrirClasseur()

        Appli.Visible = False           '   Application visible
        Appli.DisplayAlerts = False     '   Inactivation des alertes

        '       Ouverture du classeur
        Try
            Appli.Workbooks.Open(NomClasseur)
        Catch ex As Exception
            MsgBox("*****  IMPOSSIBLE D'OUVRIR LE FICHIER EXCEL  *****")
        End Try

        '       Initialisation Classeur et Feuille Excel
        Classeur = CType(Appli.Workbooks(1), Excel.Workbook)
        Feuille = CType(Classeur.Worksheets("Saisie"), Excel.Worksheet)

    End Sub

    Private Sub FermerClasseur()

        '       Fermeture du classeur
        Try
            Appli.Visible = True
            Appli.DisplayAlerts = True
            Appli.Quit()
        Catch ex As Exception
        End Try

    End Sub
End Class

Conclusion

Notez que si vous ouvrez un classeur par VB et que vous le fermez manuellement (sans passer par l'appli), vous risquez de le garder toujours actif dans les processus du gestionnaire de tâches.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   bin
    •   Debug
      • Interop.Excel.dllTélécharger ce fichier [Réservé aux membres club]946 176 octets
      • Interop.Office.dllTélécharger ce fichier [Réservé aux membres club]155 648 octets
      • Interop.VBIDE.dllTélécharger ce fichier [Réservé aux membres club]57 344 octets
      • Load Cbbox.exeTélécharger ce fichier [Réservé aux membres club]32 768 octets
      • Load Cbbox.pdbTélécharger ce fichier [Réservé aux membres club]62 976 octets
      • Load Cbbox.vshost.exeTélécharger ce fichier [Réservé aux membres club]5 632 octets
      • Load Cbbox.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier120 octets
    • Release
  •   My Project
  •   obj
    •   Debug
      •   TempPE
        • My Project.Resources.Designer.vb.dllTélécharger ce fichier [Réservé aux membres club]7 680 octets
      • Interop.Excel.dllTélécharger ce fichier [Réservé aux membres club]946 176 octets
      • Interop.Office.dllTélécharger ce fichier [Réservé aux membres club]155 648 octets
      • Interop.VBIDE.dllTélécharger ce fichier [Réservé aux membres club]57 344 octets
      • Load Cbbox.exeTélécharger ce fichier [Réservé aux membres club]32 768 octets
      • Load Cbbox.pdbTélécharger ce fichier [Réservé aux membres club]62 976 octets
      • Load Cbbox.vbproj.GenerateResource.CacheTélécharger ce fichier [Réservé aux membres club]842 octets
      • Load Cbbox.vbproj.ResolveComReference.cacheTélécharger ce fichier [Réservé aux membres club]655 octets
      • Load Cbbox.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier120 octets
      • Load_Cbbox.Form1.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
      • Load_Cbbox.Resources.resourcesTélécharger ce fichier [Réservé aux membres club]180 octets
    • Release
    • Load Cbbox.vbproj.FileList.txtTélécharger ce fichier [Réservé aux membres club]Voir ce fichier561 octets
  • Form1.Designer.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 786 octets
  • Form1.resxTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 814 octets
  • Form1.vbTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 734 octets
  • Load Cbbox.slnTélécharger ce fichier [Réservé aux membres club]Voir ce fichier915 octets
  • Load Cbbox.suoTélécharger ce fichier [Réservé aux membres club]15 360 octets
  • Load Cbbox.vbprojTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 314 octets

Télécharger le zip

  • signaler à un administrateur
    Commentaire de debutante84 le 10/05/2006 02:30:52

    salut
    je debute en vb.net et je trouve que ton code est tres interessant

  • signaler à un administrateur
    Commentaire de Lordthias le 16/05/2006 15:27:10

    salut,
    enfin un code simple et trés utile...
    Merci

  • signaler à un administrateur
    Commentaire de fdiedler2000 le 26/11/2006 12:29:49

    salut j'ai une erreur sur cette ligne qu'estc e que je dois faire ?
    Feuille = CType(Classeur.Worksheets("Saisie"), Excel.Worksheet)
    Merci

  • signaler à un administrateur
    Commentaire de azerty_tunisie le 30/08/2007 15:01:03

    ciao

  • signaler à un administrateur
    Commentaire de isokar le 29/10/2007 08:43:24

    bon je doit vraiment etre nul car quand je lance ton projet, il me met des erreur partout.
    j'ai éssayé de prendre juste la partie qui m'intéresse et il me dit que je ne peux pas faire de new avec excel.application  est-ce normal?

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS