ADOX CATALOG lister noms feuilles sans $

Regueiro

XLDnaute Impliqué
Bonjour à tous
j'aimerais lister les noms de feuilles d'un classeur xlsm masquée.
Mais sans les $ uniquement les noms de feuilles.
je vous joint mes fichiers.

Aller dans le fichier Prog Devis, dans la feuille ART.001 double click en E19
et l'userfom s'ouvre.
Il liste bien les feuilles du fichier fermé mais
Comment supprimer ces $
Merci de votre Aide.
 

Pièces jointes

  • Prog Devis V01.11 _ USF.zip
    946.8 KB · Affichages: 147

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Salut BrunoM45
J'ai ouvert le fichier.
Mais il plante, il mets un message d'erreur dès que j'ai clicker le Combobox1

"Le moteur de base de données Microsoft Access n'a pas pu trouver l'objet BDSALAIRE.
Vérifiez qu'il existe et que vous avez correctement entré son nom et son chemin d'accès.
Si BDSALAIRE n'est pas un objet local, vérifiez la connexion réseau ou contacter l'administrateur du serveur"

Pour info je travaille sur mon portable ASUS et je n'ais pas ACCESS.
Dois-je activer de nouvelles références.
Merci.
A+
 

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Re
Non j'ai rien changer à ton code.
Les 2 fichiers sont dans le même répertoire.
J'arrive à ouvrir uniquement "MATERIAUX", mais il y encore un bug
Lorsque OK avec le bouton "VALIDER" de USF1 les données ne vont pas se mettre sur la cellule active.
Mais on va trouver le code.
Par contre les autres "SALAIRE" - "INVENTAIRE" - "TIERS" il bug.
Je crois que cela doit venir du gestionnaire des noms fait référence à
BDMATERIAUX = MATERIAUX $D$&:$Q$77 étendu = CLASSEUR
les autres BD = étendu = fait référence à la feuille ou l'onglet
Je regarde également de mon côté.
A+
 
C

Compte Supprimé 979

Guest
Re : ADOX CATALOG lister noms feuilles sans $

Re,

Je ne sais pas ce qui c'est passé !?
En tout cas pour que cela fonctionne dans le choix, il faut redéfinir les noms pour changer l'étendue

Et ainsi changer l'étendue du nom de la feuille par le classeur tout entier (voir copie d'écran)

Pour ce qui est du bouton VALIDATION je ne sais pas ce que tu veux faire exactement !?

A+
 

Pièces jointes

  • ScreenShot114.jpg
    ScreenShot114.jpg
    60.3 KB · Affichages: 94
Dernière modification par un modérateur:

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Re
J'ai trouver c'est bien ces références du gestionnaire des noms.

Capture.PNG

Est-ce que la BD tout est nécessaire ?
On peut la supprimer ?

Je ce regarde encore ce problème dans :
le Private Sub CommandButton1 (Click)
je dois changer qqch pour lui dire de ce mettre dans la cellule active.
Et adapter également le code pour lui dire que je veux tout sur la ligne.
E24 = code MSIT
F24 = Désignation
G24 = Un. ( Unité )
H24 = Prix Unit.
Merci encore.
A+
 

Pièces jointes

  • Capture.PNG
    Capture.PNG
    95.8 KB · Affichages: 95
  • Capture.PNG
    Capture.PNG
    95.8 KB · Affichages: 92
C

Compte Supprimé 979

Guest
Re : ADOX CATALOG lister noms feuilles sans $

Re,

Le nom "BD" ne sert à rien, tu peux le supprimer ;)

Pour appliquer à la ligne sélectionnée, il suffit de lui indiquer
Code:
    ' Définir la cellule active
    Lig = Selection.Row

En revanche pour le reste des infos, il ne sont pas dans ta BdD !?
Il faudra utiliser le numéro du champ : Fields(Numéro) pour les inscrire dans ta dernière ListView par exemple

A+
 

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Bonsoir à Tous et BrunoM45
Merci beaucoup pour ton aide.
Concernant mon problème pour importer les données de Listview5 dans mes 2 cellules ( Résolu )
Voilà le code

Private Sub CommandButton1_Click()
Dim Mot As String, X As String, Pos As Byte
Mot = Me.ListView5.ListItems(Me.ListView5.SelectedItem.Index).Text
Pos = InStr(Mot, "-")
ActiveCell(1) = Trim(Mid(Mot, 1, Pos - 2))
ActiveCell(1, 2) = Trim(Mid(Mot, Pos + 2))
Unload Me
End Sub
Par contre je n'arrive pas à rajouter 2 colonnes supplémentaires à ma Listview5
Pour Unité et prix
Dans la BDD j'ai modifiée mes plages pour faire références à ces colonnes.
Merci de votre aide
 

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Bonjour à Tous
Bonjour Bruno
J'avance dans mon programme et en l'utilisant j'ai remarquer un bug.

Capture2.PNG

Comme tu vois dans la ListView3 ( Niveau3) le résultat ne correspond pas à la Valeur de la ListView2.
Au niveau2 je sélectionne 1.002. - Fabrication et dans le niveau3
Il affiche les valeurs de 1.001. - Technique
Je ne sais pas pourquoi.

Concernant les titres des colonnes de la ListView5
J'ai rajouter ce code
'XXXXXXX IMPORTANT POUR QUE LE PROGRAMME FONCTIONNE XXXXXXXXXXX
'Outils - Référence - Activé
'Microsoft ActiveX Data Object 2.8 Library
'Microsoft ADO Ext 6.0 for DDL and Security
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Private Sub UserForm_Initialize()
Dim I As Integer, Largeur As Integer
Dim xlSheet As Variant
Dim Cat As New ADOX.Catalog
Set Cnn = New ADODB.Connection
Set Cat = CreateObject("ADOX.Catalog")
'répertoire = "C:\0. PROGRAMME JRE\BDD DIVERS 2012\"
Répertoire = ThisWorkbook.Path & "\"
Fichier = "BDD MSIT 2012.xlsm"
Cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Répertoire & Fichier & ";Extended Properties='Excel 12.0;HDR=Yes'"
Set Cat.ActiveConnection = Cnn

' Vider la combobox
Me.ComboBox1.Clear
' Trouver les feuilles (tables) de la BdD
For Each xlSheet In Cat.Tables
If Right(xlSheet.Name, 1) = "$" Then
Me.ComboBox1.AddItem Left(xlSheet.Name, Len(xlSheet.Name) - 1)
End If

Next
' Fermer lex connection et vider les variables objet
Set Cat = Nothing
Cnn.Close
Set Cnn = Nothing
'
For I = 1 To 5
If I = 1 Then Largeur = 120 Else Largeur = 200
Me("ListView" & I).ColumnHeaders.Add , , "niveau" & I, Largeur
Me("ListView" & I).Gridlines = True
Me("ListView" & I).View = Lvwreport


'With Me.ListView5
'With .ColumnHeaders
'.Clear
'.Add , , "niveau" & I, Largeur 'Add 1ère colonne
'.Add , , "Unité", 40, 4 'Add 2ème colonne
'.Add , , "Prix", 40, 4 'Add 3ème colonne
'End With
'End With

Next
Me.Label1.Visible = False
Set Cnn = Nothing
Set Cat = Nothing
SendKeys "(F4)"
End Sub
Mais il affiche "Erreur d'excution '380': Invalid property value
Merci de ton Aide
A+
 

Pièces jointes

  • Capture2.PNG
    Capture2.PNG
    182.1 KB · Affichages: 87
  • Capture2.PNG
    Capture2.PNG
    182.1 KB · Affichages: 85
C

Compte Supprimé 979

Guest
Re : ADOX CATALOG lister noms feuilles sans $

Re,

Merci ;)

Pour le 1er problème
Comme tu vois dans la ListView3 ( Niveau3) le résultat ne correspond pas à la Valeur de la ListView2.Au niveau2 je sélectionne 1.002. - Fabrication et dans le niveau3
Il affiche les valeurs de 1.001. - Technique
Je ne sais pas pourquoi.

J'ai mis ce code
Code:
' Valeur sélectionnée de la ListView précédente
sLVprev = Me("ListView" & Col - 1).ListItems(1).Text
C'était n'importe nawak alors qu'il faut ça
Code:
  ' Valeur sélectionnée de la ListView précédente
  sLVprev = Me("ListView" & Col - 1).SelectedItem


C'est une bétise de ma part, j'ai mis ça comme code
Je regarde pour la suite ;)

Ok, c'est fait, voici le lien Ce lien n'existe plus

Pour l'ajout des colonnes dans la ListView, tu n'avais pas le bon nombre d'arguments

A+
 
Dernière modification par un modérateur:

Regueiro

XLDnaute Impliqué
Re : ADOX CATALOG lister noms feuilles sans $

Bonsoir à tous
Bonsoir BrunoM45 et Merci beaucoup pour ton aide.
Je reviens suite à l'utilisation du programme et j'ai plusieurs questions ?
Tout d'abord j'avais un bug.
3Capture.PNG

1) Dans Userform1 tu fais référence 1x la BDD MSIT 2012.xlsm
1Capture.PNG
et dans Sub Ouverture BdD tu fais référence à BDD MSIT.xlsx
2Capture.PNG
j'ai modifié xlsm par xlsx et c'est bon.

2) Dans la BDD MSIT je dois bien mettre les lettre et les chiffres au format texte, sinon le code ne marche pas ?
3) j'aimerais dans la Listview5 - colonne 3 - les chiffres en rouge ?
4) Dans la feuille 0.Récap du fichier Prog Devis, comment modifier le tri.
par exemple avoir un classement par
1. SALAIRE
2. MATERIAUX
3. ET 4.
et dans une colonne le totaux par chapitre.
Si c'est possible ?
Et MERCI encore pour toute les heures ? passées sur mon problème.
A+
 
C

Compte Supprimé 979

Guest
Re : ADOX CATALOG lister noms feuilles sans $

Salut Regueiro ;)

Bonsoir à tous
Bonsoir BrunoM45 et Merci beaucoup pour ton aide.
A quand même :p;)

Je reviens suite à l'utilisation du programme et j'ai plusieurs questions ?
Tout d'abord j'avais un bug.
1) Dans Userform1 tu fais référence 1x la BDD MSIT 2012.xlsm
et dans Sub Ouverture BdD tu fais référence à BDD MSIT.xlsx
j'ai modifié xlsm par xlsx et c'est bon.
Très bien, c'est simplement que ton fichier BdD avec macro n'a plus lieu d'être
Pour rappel : ".xslx" fichier sans macro, ".xlsm" fichier avec maco

2) Dans la BDD MSIT je dois bien mettre les lettre et les chiffres au format texte, sinon le code ne marche pas ?
Oui, la dernière BdD mise en ligne est formatée comme ça ;)

4) Dans la feuille 0.Récap du fichier Prog Devis, comment modifier le tri.
par exemple avoir un classement par
1. SALAIRE
2. MATERIAUX
3. ET 4.
et dans une colonne le totaux par chapitre.
Si c'est possible ?
Certainement, mais là, je pense que tu devrais ouvrir un nouveau fil
Je ne sais pas comment faire pour le moment, je vais essayer de me pencher dessus ;)

A+
 
Dernière modification par un modérateur:

ChTi160

XLDnaute Barbatruc
Re : ADOX CATALOG lister noms feuilles sans $

Bonjour
Bonjour le Fil
Bonjour le Forum
voila ce que j'ai modifié dans la procédure Liste()
en tête de procédure j'ai mis la variable
Dim LstSItem As ListSubItem

puis j'ai modifié ensuite la Procédure ainsi
a partir de
Code:
If Col = 5 Then
  ' Inscrire les Quantité et le P.U.
   .ListItems(.ListItems.Count).ListSubItems.Add , , IIf(IsNull(Rs.Fields(7)), "-", Rs.Fields(7))
          
Set LstSItem = .ListItems(.ListItems.Count).ListSubItems.Add(, , IIf(IsNull(Rs.Fields(8)), 0,Rs.Fields(8)))
              
With LstSItem 'avec ce ListSubitem ajouté
                             .ForeColor = vbRed 'je colore son texte en rouge
 End With
en espérant avoir compris la Question
Bonne journée
Amicalement
Jean Marie
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87