Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Nmb de fois le nom d'un fichier dans un tableaux

Bens7

XLDnaute Impliqué
Bonjour a tous !!
Alors voila après avoir chercher plusieurs option (Google+Forum)
je me tourne vers vous :

- J'ai un dossier comportant des logs (enfait des fichier txt vide) (voir dossier : /RESEAUX/EN COURS)
exemple: Tomate1.txt ; Tomate6.txt; Tomate3.txt

- Et dans mon tableau je voudrais calculer le nombre de fois ou un produit existe en log.
exemple: "Tomate" = 3 (il y a 3 fichier comportant le mot "Tomate" dans le dossier)

Voila je vous est mis un petit dossier + un FAKE bouton pour éclaircir :

P.S: Mon fichier réel comporte en fait plus de 300 lignes repartie sur 9 catégorie...donc plus de 4000 mot a tester léger au max...si possible.

Merci d'avance novice VBA (adaptation minimum)
 

Pièces jointes

  • SOURCE.zip
    17.6 KB · Affichages: 39

Bens7

XLDnaute Impliqué
Holala magnifique juste un petit souci dans votre précédent code :

VB:
Sub majlegume()
clearlegume ' efface les collones nombre
rep = "D:\MON DOSSIER\RESEAUX\EN COURS\"
fichier = Dir(rep)
Do While fichier <> ""
  tx = Left(fichier, Len(fichier) - 4)
For k = 1 To Len(tx)
If Not IsNumeric(Mid(tx, Len(tx) - k, 1)) Then
tx = Left(tx, Len(tx) - k)
Exit For
End If
Next
  Set C = Feuil2.UsedRange.Find(tx, lookat:=xlWhole)
  If Not C Is Nothing Then
  C.Offset(0, 1) = Val(C.Offset(0, 1)) + 1
  End If
  fichier = Dir
Loop

End Sub
J'avais créer plusieurs colonnes de catégories différentes et je ne sait comment le calcul se faisait aussi sur les colonnes suivantes ...
du coup la non ... (et je ne sais pas comment l'adapter) voici le fichier ci joint plus clair .. et il est possible que je créer d'autre colonnes a l'avenir ... faudrait faire une truc du style :
"Loop si dans la ligne 1 y a une entête ..." (enfin une colonne sur 2... ou sinon je rajoute un mot dans l’entête nombre)
 

Pièces jointes

  • test.xlsm
    23.4 KB · Affichages: 35

youky(BJ)

XLDnaute Barbatruc
Ravi que tout fonctionne
Explications:
la variable "tx" exemple renvoi Tomates 1 (2)
le code Set C = Feuil2.UsedRange.Find(tx, lookat:=xlWhole) va chercher tx
si trouvé C est la cellule contenant Tomates 1 (2)
et C.offset(0,1) est la cellule C décalée d'une colonne à droite
si j'avais voulu la colonne à gauche à la place de 1 j'aurai mis -1 et le 0 est la ligne
pour savoir si Tomates 1 ou Tomates 1 (2) j'utilise…..if right(C.value,1)=")" then
si la dernière lettre est ")"
Les noms de fichiers doivent avoir un espace avant le chiffre et ne doivent pas avoir d'espace avant le chiffre
exemple ne pas écrire "Choux fleur 1" écrire "Choux-fleur 1"
Ben voila
Bruno
 

Bens7

XLDnaute Impliqué
Ravi que tout fonctionne
Les noms de fichiers doivent avoir un espace avant le chiffre et ne doivent pas avoir d'espace avant le chiffre
exemple ne pas écrire "Choux fleur 1" écrire "Choux-fleur 1"
Ben voila
Bruno

Ha heureusement que j'ai demander ! Du coup je viens de m'apercevoir d'un problème, mes cellules ne comportent en réalité pas des noms de fruit mais des nom de Ville ... du coup il y a effectivement des villes avec un espace : par exemple : Les Paccots
Du coup ça ne marchera pas ? je peux également créer un buteur dans mes fichier texte du genre :
Les Paccorts#1, Les Paccorts#1 (2),Les Paccorts#1 (3)
Et la on recherche et calcul tous ce qui précédé "#"
 

Bens7

XLDnaute Impliqué
Magique ... ! Je garde précieusement ce code !
Bon peut être que j'abuse (en fait j'ai essaye seul c’était un carnage !) :
Si je souhaite effectuer ce même caclul mais sur une seul valeur a recherche dans une Userform1.Combobox1 > Total affiche dans Userform1.Textbox1 ... pourriez vous m'aider également
 

youky(BJ)

XLDnaute Barbatruc
Je ne comprends pas tout,
un fichier exemple serait bienvenu
questions
Comment mettons la valeur à chercher par un inputbox?
Dans le combo c'est juste le nom de la ville sans # et dans le texbox le …..1 ou 1 (2)
Comment se mets la valeur en textbox1 c'est celle ci qu'il faut additionner
De quelle manière est fait tout ca.
Bruno
 

Bens7

XLDnaute Impliqué
En fait c'est plus ça (ci joint)
On cherche plus la valeur dans les colonnes on cherche une seul dans la combobox1
le dossier contenant les #.TXT a calculer reste le même cependant
et le nmb de fois existant est affiche dans la textbox1
 

Pièces jointes

  • test.xlsm
    26.4 KB · Affichages: 30

youky(BJ)

XLDnaute Barbatruc
Pour bien comprendre
Il faut alimenter le combobox avec les noms des fichiers du dossier D:/....machin
exemple de nom Choux fleur#1(2).txt
Ensuite un click sur la liste, si Choux fleur mettre en textbox1 1(2)
La feuil2 n'est pas utilisée dans ces cas là.
Est-ce bien cela
Bruno
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…