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
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..
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <laurent_hosch@hotmail.com> a écrit dans le message de news:
B5D3EBDA-02A3-4205-99C2-C1110F4D95D6@microsoft.com...
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...
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
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
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 :-
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
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
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" <laurent_hosch@hotmail.com> a écrit dans le message de
news:85F858DE-41BC-4557-9B95-C080AA94B190@microsoft.com...
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
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
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 :-)
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
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