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é: 29 158 / 2 583

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.
 

Fichier Zip

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

Commentaires et avis

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

Discussions en rapport avec ce code source dans le forum

charger cellule excel vers combobox [ par sebcbien67 ] Bonjour, Je travail sous excel 2002 SP3 et je souhaite charger une combobox1 avec le contenu des cellules (C1 à 11), comment fait-on? Attention entre combobox de taille adaptable [ par aker01600 ] bonjour a tous, je vous ecris car j'ai un probleme, je debute en ce moment en vba.je devellope actuellement un formulaire en excel afin de faire l'inv VBA excel : tester plusieurs combobox [ par adri37 ] Bonjour,je souhaite tester le contenu de plusieurs combobox mais je n'y arrive pas.J'ai 15 combobox appelées combobox1, combobox2, combobox3, combobox Combobox [ par Boulgor ] Bonjour,tout d'abord excusez moi si je me suis trompé de rubrique mais y en un sacré paquet^^.J'explique mon problème:je suis entrain de créer un fich Combobox et Excel [ par Calade ] Bonjour à tous,Voici mon problème:J'ai un classeur Excel avec 2 onglets. Le 1er comporte un Combobox que j'aimerais peupler à partir des données conte Charger image en fonction du contenu d'une combobox en vba [ par nico_rs4 ] Bonjour à tous,je n'arrive pas à trouver le moyen pour charger une image en fonction du contenu d'une combobox dans excel 2007 en vba.Si quelqu'un peu ComboBox / SpinButton d'une worksheets excel - Adressage par Name [ par mdefermor ] Bonjour, J'ai une Combobox et un SpinButton par ligne d'une feuille excel, et je voudrais modifier un paramètre (par exemple .Visible = True or False) nom d'une combobox sur une feuille excel [ par didou853113 ] Bonjour, j'ai créé une combobox sur une feuille "Facture" dans excel grâce à la boite d'outils formulaire. Comment connaître le nom de ma combobox et Pb ListBox et ComboBox VBA Excel [ par juju4953 ] Bonjour a tousMerci d'avance à ceux qui m'aideront !!!!!!Voila mon pb mon fichier excel comporte 3 colonnes (Nom Prenom, Montant,Date)Je voudrais que


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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 : 1,778 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é.