Liste déroulante de classeur fermés sans passer par ADO

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

erics83

XLDnaute Impliqué
Bonjour,

J'ai beaucoup été aidé par BOISGONTIER (merci ! trop super !!!!) dans la lecture et l'écriture dans des classeurs fermés. Mais J'ai un problème : les serveurs de mon boulot ne permettent pas d'utiliser la méthode ADO.....😡

50 utilisateurs utiliseront le fichier, donc je ne peux pas faire une ouverture de classeur, pour lire le contenu....😡

Ce que je cherche à faire : admettons que j'ai une liste de référence dans un classeur fermé, nommé "BD Produits". Qu'en colonne A, j'ai une liste de référence de produits. En colonne B, les fournisseurs.

Je cherche à mettre dans un Userform (de mon classeur "recherche.xls)", je sélectionne une référence (listbox1), et dans la listbox2, s'affiche tous les fournisseurs de ce produit... = lecture des fournisseurs dans le classeur fermé...

J'ai essayé avec equiv/index, mais je n'arrive pas à avoir la liste...equiv/index étant à ;0, la formule s'arrête au premier fournisseur, sans me donner la liste...

Une petite aide ?

En vous remerciant,
 
Dernière édition:
Re : Liste déroulante de classeur fermés sans passer par ADO

Bonjour,

voir PJ

Code:
Private Sub ComboBox1_Click()
  For i = 1 To UBound(choix1)
     If choix1(i, 1) = Me.ComboBox1 Then
       Chemin = ThisWorkbook.Path          ' Adapter  (chemin="c:\mesfichiers" par exemple)
       onglet = "Feuil1"                            ' Adapter
       ChampOuCopier = "I2:M2"              ' Adapter
       ligneEnreg = i + 1
       ChampAlire = "A" & ligneEnreg & ":E" & ligneEnreg
       LitChamp f, ChampOuCopier, Chemin, fichier, onglet, ChampAlire
       For t = 1 To 4
         Me("textbox" & t) = f.Cells(2, t + 9)
       Next t
       f.[H2] = ligneEnreg
     End If
  Next i
End Sub

http://boisgontierjacques.free.fr/fichiers/Cellules/ADOInterro4LiaisonIntuitif2colEnreg.xls

JB
 

Pièces jointes

Dernière édition:
Re : Liste déroulante de classeur fermés sans passer par ADO

Super Merci JB (surtout lorsque je vois à quelle heure vous l'avez posté..merci)

J'ai travaillé sur votre code, pour avoir la possibilité d'ajouter, supprimer ou mettre à jour les données de "Article4", résolvant par la même occasion le problème que j'avais avec ADO (=suppression d'un enregistrement).

Par contre, j'ai un problème avec les mises à jour : je modifie, supprimer, ajoute bien dans "Article4", la liaison se fait bien dans "BD", mais les listbox et textbox ne sont pas rafraichies et/ou mises à jour...

C'est la dernière chose qui me manque....j'ai bien essayé
Code:
Userform1.repaint
, mais cela ne fonctionne pas....

Merci pour votre aide,
 

Pièces jointes

Re : Liste déroulante de classeur fermés sans passer par ADO

Bonjour,

Sans titre.png

http://boisgontierjacques.free.fr/fichiers/Cellules/ADOInterro4LiaisonIntuitif2colEnreg.xls

JB
 

Pièces jointes

Dernière édition:
Re : Liste déroulante de classeur fermés sans passer par ADO

Super Merci JB,

Une fois de plus, tout fonctionne parfaitement !!! Merci !!

Une dernière petite question :

Lorsque je rapatrie mon classeur4 (enfin dans mon projet, il ne s'appelle pas Classeur4, et a 6000 lignes..), j'ai fait
Code:
ChampAlire = "A1:C10000"         ' Adapter
     ChampOuCopier = "A1:C10000"      ' Adapter
et à partir de la ligne 6001 jusqu'à 10000, je n'ai que des "0", alors que dans votre exemple, les cases sont vides....Pourquoi ? et/ou comment enlever ces "0".

Ou alors, est-il possible de compter le nombre de lignes renseignées dans la colonne A du classeur4 et mettre
Code:
ChampAlire = "A1:C" & nombrelignecomptees        ' Adapter
     ChampOuCopier = "A1:C" & nombrelignecomptees      ' Adapter
permettant ainsi d'éviter des longueurs et/ou poids du fichier.

En vous remerciant pour votre aide,
 
Re : Liste déroulante de classeur fermés sans passer par ADO

Bonjour,

Pour supprimer les 0:
-Excel 2007+ : Fichier/Options/Options avancées/Décocher valeurs zéro
-Excel 2003 : Outils/Options/Affichage/Décocher valeurs zéro

Code:
Sub auto_open()
     fichier = "Article4.xls"   ' Adapter
     Application.ScreenUpdating = False
     Workbooks.Open Filename:=ThisWorkbook.Path & "\" & fichier
     Set f2 = Sheets("feuil1")
     dernier = f2.Range("A65536").End(xlUp).Row + 10
     Workbooks(fichier).Close
     '---
     Set f = Sheets("bd")
     f.[A1.C10000].ClearContents
     Chemin = ThisWorkbook.Path         ' Adapter  (chemin="c:\mesfichiers" par exemple)
     onglet = "Feuil1"                  ' Adapter
     ChampAlire = "A1:C" & dernier      ' Adapter
     ChampOuCopier = "A1:C" & dernier    ' Adapter"
     LitChamp f, ChampOuCopier, Chemin, fichier, onglet, ChampAlire
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Liste déroulante de classeur fermés sans passer par ADO

Super merci JB,

Je comprends mieux pourquoi je ne trouvais pas l'instruction dans vos codes....😉

Pour la dernière ligne, c'est vrai que le plus simple est toujours le mieux....ouverture, lecture, fermeture.

Merci,
Merci,

A bientôt pour de prochaines aventures,

Merci,
 
Re : Liste déroulante de classeur fermés sans passer par ADO

Bonjour,

J'essaye différentes choses avec votre code, qui est parfait !! Bravo !!!

Par contre, pour des raisons visuelles, je souhaitais changer le Combobox1 par une Listbox1.

j'ai donc fait les modifications, mais le code bloque au niveau de :
Code:
  Me.ListBox1.DropDown
, après quelques recherches, j'ai essayé
Code:
  Me.ListBox1.DropDownList
qui ne fonctionne pas non plus...

Pourtant, d'après ce que j'ai pu voir sur le site microsoft,
Code:
 DropDown
pourrait aller avec une Listbox....

merci de votre aide,
 
Dernière édition:
Re : Liste déroulante de classeur fermés sans passer par ADO

En fait, je ne comprends pas...j'ai supprimé la ligne contenant le "dropdown" et le code fonctionne "normalement"...

Si JB l'avait mis là, c'est qu'il y a une bonne raison...

Quel impact a donc ce "dropdown"...?

En vous remerciant pour votre aide,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
334
Retour