Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Recherche d'une valeur dans une liste de fichiers facture*.xls d 'un répertoire pour afficher la liste de ces fichiers qui corres pondent.......

4 réponses
Avatar
Lolo
Hello

Dans un répertoire sont stockés des feuilles de facture (facture2004-1.xls, facture2004-2.xls, etc etc) Ces factures sont toutes crées avec un même modèle de départ. Dans ce modèle, il y a une zone de texte contenant le Nom et le Prénom du client en première ligne. (Je devrais ptêt mettre ça dans des cellules pour + de facilités, mais bon

j'aimerais créer une nouvelle feuille qui me permettrait de rechercher toutes les factures d'un client donné

Pour ce faire, une invite me demanderait le Nom et le Prénom en tant que chaine de caractères. Le code VBA rechercherait dans chaque fichier facture2004-*.xls si ça correspond. Si tel est le cas, le nom du (des) fichier(s) sont listés dans la feuille de recherche avec possibilités de les ouvrir directement en les sélectionnant..

Si qqn peut m'aider ..... :-

Merciiii

4 réponses

Avatar
ru-th
Salut

AMHA
Le + simple serait au fur et à mesure que les factures sont saisies, les
infos importantes soient transférées dans une feuille récapitulative dans un
classeur spécifique
un simple filtre suffirait pour rechercher tes clients, factures,
montants...
Plus pratique que de rouvrir tous les tiroirs chaque fois qu'il y a une
recherche à faire

a+
rural thierry

"Lolo" a écrit dans le message de news:

Hello!

Dans un répertoire sont stockés des feuilles de facture
(facture2004-1.xls, facture2004-2.xls, etc etc) Ces factures sont toutes

crées avec un même modèle de départ. Dans ce modèle, il y a une zone de
texte contenant le Nom et le Prénom du client en première ligne. (Je devrais
ptêt mettre ça dans des cellules pour + de facilités, mais bon)

j'aimerais créer une nouvelle feuille qui me permettrait de rechercher
toutes les factures d'un client donné.


Pour ce faire, une invite me demanderait le Nom et le Prénom en tant que
chaine de caractères. Le code VBA rechercherait dans chaque fichier

facture2004-*.xls si ça correspond. Si tel est le cas, le nom du (des)
fichier(s) sont listés dans la feuille de recherche avec possibilités de les
ouvrir directement en les sélectionnant...

Si qqn peut m'aider ..... :-)

Merciiiii



Avatar
Lolo
O

il serait alors préférable que je crée une fonction appelée juste avant l'enregistrement de chaque facture. Cette fonction ouvrirait un classeur de références, vérifierait si le nom du client existe déjà qqpart. S'il n'existe pas, il crée une nouvelle ligne avec son Nom Prénom et remplit une nouvelle cellule avec le No de la facture. Si le client s'y trouve, il ajoutera une cellule après la précédentes, contenant le No de la nouvelle facture encodée pour ce client..

Mais bon, en mots, c facile ... concernant la pratique c autre chose :-) et comme je viens seulement de mettre à la prog VBA, je ne connais pas toutes les opérations, propriétés, objets, etc ;-

Alors, si tu as envie de me donner un coup de main, tu es le bienvenu :-

Merciiiiii
Avatar
ru-th
Sur le principe,
tu reportes toutes les infos importantes sur une ligne (éventuellement
masquée) de ton classeur depart

ex A50 : le numéro de facture formule ±5 (par exemple)
B50 : le nom du Client formule ¨
.....
et avant ton enregistrement
tu rajoutes quelques lignes de code
with workbooks("Recap").sheets("Feuil1")
.rows(2).insert
.range("A2:J2")=range("A50:J50")
end with
comme cela, chaque nouvelle facture sera reporté dans ta base recap

après on améliore, test sur l'ouverture de recap, test sur la présence des
infos, création de liens hypertexte etc....
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Lolo" a écrit dans le message de
news:
OK

il serait alors préférable que je crée une fonction appelée juste avant
l'enregistrement de chaque facture. Cette fonction ouvrirait un classeur de

références, vérifierait si le nom du client existe déjà qqpart. S'il
n'existe pas, il crée une nouvelle ligne avec son Nom Prénom et remplit une
nouvelle cellule avec le No de la facture. Si le client s'y trouve, il
ajoutera une cellule après la précédentes, contenant le No de la nouvelle
facture encodée pour ce client...

Mais bon, en mots, c facile ... concernant la pratique c autre chose :-)
et comme je viens seulement de mettre à la prog VBA, je ne connais pas

toutes les opérations, propriétés, objets, etc ;-)

Alors, si tu as envie de me donner un coup de main, tu es le bienvenu :-D

Merciiiiii


Avatar
Lolo
C bien intéressant tout ça, mais je ne peux pas faire cela ainsi... J'ai reçu des contraintes comme quoi je dois faire tout ça en "externe

Donc pour ce faire, en sauvegardanr la facture, j'aurais besoin de savoir comme on extrait (en String) les éléments de la première ligne d'une zone de texte

+---------------------
| Prénom NO
| Adresse
| ...
+---------------------

Donc la valeur de la chaine serait "Prénom NOM" (en sachant que l'on respecte la casse, on s'en fiche

Ensuite faudrait savoir comment faire une recherche sur toutes le cellules de la colonne A d'une feuille d'un autre fichier (historique.xls, par exemple). Donc ouvrir le fichier en question sans l'afficher à l'écran. Parcourir la colonne A, si trouvé ajouter une cellule en fin de la ligne correspondante contenant uniquement la référence de la facture. Si pas trouvé, créer une nouvelle ligne avec "Prénom NOM" comme première cellule et la référence de la facture comme seconde cellule. Par contre je dois envisager le cas ou je fais une mise à jour d'une facture existante.. Donc je dois également rechercher dans la ligne du client si une cellule contient la référence de la dite facture pour ne pas créer de doublon. Le top serait également de retrier ce tableau par ordre alphabétique en fonction des "Prénom NOM" établis en colonne

Merci bcp d'avance :-)