Accueil > > > (VB 2005) CHARGER UN COMBOBOX À PARTIR D'EXCEL
(VB 2005) CHARGER UN COMBOBOX À PARTIR D'EXCEL
Information sur la source
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.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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)
Selectionner une feuille Excel à partir de la valeur d'une ComboBox [ par bmwax ]
Bonjour à tous,Dans un classeur Excel, j'ai plusieurs feuilles de même style. Chaque feuille a une combobox nommée "Product"Avec une boucle for, j'aim
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
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|