Inventaire de bibliothèque (faut tout refaire)

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 !

papapaul

XLDnaute Impliqué
🙁 Bonjour le forum,
Je dois revoir le système de comtage d'une bibliothèque.
Les catégories sont réparties comme ca
Inventaire\A - Histoire Générale\AA - Instruments de travail etc,etc...
Ce classement à été réalisé depuis très longtemps,

Je cherche à automatiser le comptage des ouvrages.
J'ai retrouvé un peu par hasard cette prodigieuse (comme d'hab)
démo de mDF.

Lien supprimé

Je n'arrive pas à l"'arranger" pour que en colonne C
s'affiche la Value de B2 des Feuil1 de chaque fichier.
Tous ces fichiers ont une feuille unique avec en B2
une formule NBVAL qui compte le Nbre d'ouvrages.
comme dans la Feuil1 que j'ai mis ici.
Une fois vu le résultat, serait-il possible
qu'en cliquant sur un nom de fichier de la colonne B
je puisse retourner directement sur cette feuille pour
mettre à jour ??
Ce n'est que le début de mon idée et je suis déja paumé.😕
Merci à tous ceux qui ont des approches similaires
et qui pourront me dépanner.
Bonne journée à tous🙂
 

Pièces jointes

Re : Inventaire de bibliothèque (faut tout refaire)

🙁 Bonjour le Forum,
Je joins le code de MydearFriend.
Je mets en rouge ce qui me chagrine.
Tous mes classeurs ont une Feuil1 avec une formule
de comptage nbval en cellule B2
Je n'arrive pas à mettre en colonne C ou A (peu importe)
le résultat de cette cellule B2 de chaque Feuil1 de chaque classeur
et mettre automatiquement en bas le total (dans mon exemple en C16)
Une fois affiché la liste des classeurs du dossier, AAA, AAB, etc,
pouvoir cliquer une des cellules colonne B pour revenir dans
le classeur trouvé , Feuil1 pour faire d'éventuelles modifs.
Pour ca je pense qu'il faut mettre quelquechose dans Thisworkbook ??
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "Test" Then
Mais ensuite ??


Sub ScanClasseurs()
'ATTENTION : nécessite une référence à la librairie
'Microsoft Visual Basic For Applications Extensibility 5.3
Dim Dossier As Object, Fichier As Object
Dim Chemin As String, CeFichier As String
Dim TabDossiers As Variant
Dim L As Long, D As Long
Application.ScreenUpdating = False
ThisWorkbook.Sheets("Test").Range("A2:B65536").ClearContents
CeFichier = ThisWorkbook.Name
L = 1
'Création du tableau des sous-dossiers existants
TabDossiers = lstDossiers(ThisWorkbook.Path, True)
For D = 1 To UBound(TabDossiers)
'Chemin du dossier (ou sous-dossier) à analyser
Chemin = TabDossiers(D) & "\"
'Analyse du dossier (ou sous-dossier)
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
If Fichier.Name <> CeFichier Then
'Liste les fichiers Excel
If Right(Fichier.Name, 3) = "xls" Then
L = L + 1
'MAJ feuille Excel
With ThisWorkbook.Sheets("Test")
Je n'ai pas forcement besoin du chemin
' .Cells(L, 1) = Chemin
.Cells(L, 2) = Fichier.Name
'Je coince ICI
'.Cells(L, 3) = Fichier(Sheets(1)).Range("b2").Value😕

End With
'MAJ liste Usf
Je n'ai pas forcement besoin du Usf, un bouton pourrait suffir
usfScan.lstClasseurs.AddItem Chemin & Fichier.Name
End If
End If
Next
Next D
Set Dossier = Nothing
'Rétablit l'alerte de lien éventuelle dans les options Excel
Application.ScreenUpdating = True
usfScan.lblCompteur = L - 1 & " classeurs trouvés !"
usfScan.Show
End Sub

J'espère que vous vous y retouverez mieux que moi.
Merci d'avance à ceux qui auront le temps et la
gentillesse de m'aider à continuer dans mon idée.
Bonne journée à tous🙂
 
Re : Inventaire de bibliothèque (faut tout refaire)

🙂 Salut Forum,
Merci beaucoup Minick.
J'ai essayé ta solution.
J'ai donc enregistrer ton fichier dans un répertoire
ou il n'y a que quelques fichiers .xls
avec tous une Feuil1 et un chiffre en B2
Le fichier Mdf fonctionne parfaitement sauf
que je voudrais que la valeur de B2 de chacune de
ces feuilles se mettent bien en colonne C parallelement
à chacun des noms de ces fichiers.
Ta méthode semblerait possible
mais ca bug sur la ligne ci-dessous😡
.Range("C" & CptLig).FormulaR1C1 = "='" & strDossier & "[" & objEnfant.Name & "]Feuil1'!R2C2"
J'ai essayé de comprendre l'écriture et aussi en comparant
avec les codes de MdF mais c'est trop compliquépour moi😕
Je me replonge la dedans des que j'ai 5 mn
mais je crains de pas faire Eureka tout seul.
Si quelqu'un vois ce qui cloche ce serait hyper sympa.
@+ et vive xld
 
Re : Inventaire de bibliothèque (faut tout refaire)

🙁 J'avance, mais pas vite, besoin de lumière.
J'ai essayé en modifiant un bout de code de la solution Minick

J'ai remplacé ca :
With ActiveSheet
.Range("A" & CptLig) = strDossier
.Range("B" & CptLig) = objEnfant.Name
.Range("C" & CptLig).FormulaR1C1 = "='" & strDossier & "[" & objEnfant.Name & "]Feuil1'!R2C2"
.Range("C" & CptLig).Value = .Range("C" & CptLig).Value
End With

par ca :
With ActiveSheet
'.Range("A" & CptLig) = strDossier
.Range("B" & CptLig) = objEnfant.Name
.Range("C" & CptLig).FormulaR1C1 = "Feuil1'!R2C2"
'.Range("C" & CptLig).Value = .Range("C" & CptLig).Value
End With

Evidement, j'obtiens quelque chose comme ca :

CLASSEURS Nbre d'Ouvrages
AAA - Ouvrages d'initiation.xls Feuil1'!R2C2
AAB - Recueils de textes.xls Feuil1'!R2C2
AAC - Sciences humaines.xls Feuil1'!R2C2
AAD - Dictionnaires.xls Feuil1'!R2C2
Comptage_minick.xls Feuil1'!R2C2


Comment écrire ce fichu code pour que en colonne C (ou A)
Feuil1'!R2C2 soit bien la valeur de chaque cellule B2
de chaque Feuil1 de chaque classeur
et que n'apparaisse pas celui que j'ai nommé
Comptage_minick.xls mais que dans la cellule Feuil1'!R2C2
ce soit bien le total du comptage de toutes les Feuil1.

Je rame sérieusement mais je désespère pas.
Merci à ceux pour qui ca doit être évident, pas du tout pour moi😕
Bonne journée sur xld.
 
Re : Inventaire de bibliothèque (faut tout refaire)

😱 Bonjour le Forum, MdF, Minick.
Je joins un répertoire ou il y a 6 fichiers.
Celui qui m'intéresse et le Comptage_minick
J'ai mis des explications, a lire avant d'activer le bouton.
J'ai choisi cette méthode plutot que celle de Didier(milles mercis à lui)
Un simple bouton me semble plus pratique que le usf
pour ce que je cherche à faire.
Y a des trucs qui clochent et comme je suis pas doué🙁

Merci d'avance et bonne journée à tous😉
 

Pièces jointes

Re : Inventaire de bibliothèque (faut tout refaire)

re,

Ton message m'a permit d'avancer, apparemment c'est un probleme de
nom de fichier un peu trop complexe pour lui (les apostrophes).

J'ai change la macro en consequence, j'ai egalement fait un test pour ne
pas inclure le fichier contenant la macro et indique un message si on rencontre
une erreur en lisant la cellule B2.

++
 

Pièces jointes

Dernière édition:
Re : Inventaire de bibliothèque (faut tout refaire)

😱 🙂 Minick,
Je pensais bien que le souci était la....
Comment a tu fais pour faire aussi vite ?
J'ai essayé des tas de trucs tres similaires aux tiens.
Pas réussi, je rame la-dessus depuis 3 jours.
Je vais faire quelques tests supplémentaires mais
je crois que à part l'histoire de la somme automatique
ca devrait coller.
Je vais chercher comment mettre ="sum en fin de colonne C.😛
C'est génial xld.
Merci tout plein beaucoup😀
 
Re : Inventaire de bibliothèque (faut tout refaire)

re,

Je ne comprend pas ton histoire de somme automatique.
Tu veux une cellule avec la somme de tous tes ouvrages ou le nombre d'ouvrage par classeur.

Peux-tu repeter plus lentement stp 😱

++
 
Re : Inventaire de bibliothèque (faut tout refaire)

Re Forum, Minick,
J'ai expliqué trop vite.
Pour ton fichier comptage qui est en fait une feuille,
ne t'embête pas je vais tout simplement mettre
une formule somme D6
=SOMME(C2:C200) ca suffira.
Par contre ca va se compliqué vu comment est construit l'inventaire.
L'exemple que j'ai mis est le dernier "étage" de l' arborescence.
de l'inventaire qui est fait comme ca.
Inventaire\A - Histoire Générale\AA - Instruments de travail
AB - Grandes Collections
etc...
B - Histoire des pays étrangers\BA - Iles Britanniques
BB - Italie

C\CA-CB .... D\DA-DB .....jusqu'a la lettre H
Donc dans chaque sous dossiers, AA,AB, BA...HE etc..
ou sont les fichiers xls pour les saisies, je vais inserer une feuille
de ton modele que je nommerais Comptage AA, Comptage AB etc.
Fastidieux, mais ce n'est qu'une question de temps
ce sera deja super bien.
A terme, la ca se complique,
quand j'ouvre le dossier A ou B, ou sont les dossiers
AA,AB ou BA,BB... (avec leurs feuilles)
je vais essayer de mettre une feuille.xls dans les dossiers A, B..
qui fonctionnera sur le même principe que ton modèle
mais cette fois pour aller chercher dans les dossiers (et plus dans les classeurs)
la cellule D6 des feuilles comptage que je vais créer dans chacun de ces dossiers.
pour obtenir un résultat a peu prés comme ca
dans une feuille qui s'appellera Comptage_catégorie A

Comptage AA = celluleD6 de la feuille comptage AA
Comptage AB = celluleD6 de la feuille comptage AB

On doit pouvoir adapter tes codes dans ce but, mais vais-je y arriver🙄
C'est simple dans mon esprit, j'espère que c'est clair.

Merci encore, je m'occupe d'abord du dossier A
et ses sous-dossiers, je vais surement "transpirer"
Je manquerais pas de vous tenir au courant
à moins que quelqu'un ai déja une idée 😎

Merci tous, merci xld
 
Re : Inventaire de bibliothèque (faut tout refaire)

🙂 Re Forum, Re Minick et merci,
J'ai encore avancé un peu, c'est presque fini.
J'ai testé en enregistrant mon fichier joint dans un répertoire
ou il y a d'autres répertoires
et ensuite les fichiers .xls. Chez moi ca marche.
J'y ai ajouté des codes : somme automatique et Date.
Reste à changer les noms Test, ObjEnfant et ObjParent
Pour être plus près de la réalité, je verrais ca plus tard.
Reste aussi à faire en sorte qu'en fonction du résultat, si on veux
un click sur le nom du fichier affiché en colonne B
renvoie vers ce fichier.😕
Je creuse, je creuse.

Précision : pour que l'activation du bouton fonctionne bien,
Il faut que les .xls soient fermés

Si quelqu'un voit des trucs qui clochent, merci de me le dire.
Je continue à chercher,
Merci à tous, bonne soirée, peut-être bonnes vacances🙄
 

Pièces jointes

Re : Inventaire de bibliothèque (faut tout refaire)

Soir Bon
A tester mais cela devrait correspondre à tes doléances
avec une révision rendant le code plus explicite
Cocher Microsoft Scripting Runtime dans VBA Outils Références
 

Pièces jointes

Dernière édition:
Re : Inventaire de bibliothèque (faut tout refaire)

🙂 Salut Forum, MdF, Minick, Kiki

Merci Kiki, Super, Cool.
Je sais pas ou tu appris cette méthode, c'est magique pour moi.
J'ai pas encore tout épluché les codes mais un click sur
un des fichiers me renvoie bien dedans, Génial. C'est ce que je souhaite faire.
Je peux y faire les modifs aussitôt, mais attention, pour que cela soit pris en compte
si on relance à nouveau le bouton, il faut fermer ces fichiers,
(Question de curiosité : on pourrait imaginer que la
"relance" du bouton fonctionne même que les fichiers soient fermés ou ouverts ??)

Par contre, excuse moi mais j'ai un petit bémol.😱
J'ai constaté une différence avec ma version précédente. (version de Minick)
Si je mets ton fichier dans un répertoire AA ou AB ou il y a que des xls
C'est nickel. Si je le mets directement dans le répertoire kiki_2rep
ou il y a ces 2 répertoires avec dedans chacun 2 xls, ca trouve plus rien.
Avant, en mettant le fichier comptage_xld directement dans kiki_2rep
Ca me trouvait bien les fichiers xls du répertoire en global y compris
ceux qui sont dans les sous-répertoires (AA, AB...)
ce qui faisait une sorte de recap et donc de voir
l'ensemble (AAB, AAC ABA,ABC…etc) quel que soit le sous-répertoire d'origine
sans avoir à coller le fichier comptage dans les sous-répertoires 1 par 1.
Tres pratique vu qu'en vrai j'ai beaucoup de fichiers et de sous-répertoires
voire des sous-sous-répertoires.
Je t'avoue que j'ai pas encore cherché une solution,
Faut que je compare les 2 méthodes, compliqué 😕

Je joins un rep en exemple, ce sera plus clair.
Je continue à chercher comment résoudre le "bémol".

Milles Mercis de votre gentillesse et vos compétences VBAistiques.
Bonne journée à tous sur XLD
 

Pièces jointes

- 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
Retour