![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
Bonjour,
Petit préambule: le fichier est destiné à tourner sur excel 2007 sous vista. Le contexte: mon épouse à ouvert un petit magasin de chaussure pour enfants et la création d'un fichier client est une chose qui nous parait primordiale. Aujourd'hui ce fichier existe mais ne fonctionne pas de manière satisfaisant pour son besoin. Je joins un exemple de fichier avec des annotations pour expliquer exactement mes problèmes de conception: - création de liste déroulante en cascade - recherche de dernière valeur dans une liste pour affichage Merci pour votre aide et je me tiens à votre disposition pour de plus amples renseignements |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 47
|
Bonjour à tous, peppers,
J'ai bricolé un bout de code voir fichier joint !
__________________
Il n'y a pas de hasard pour nanard, du travail et encore du travail... |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: avril 2005
Messages: 47
|
Fichier trop lourd donc voici le code à placer dans un module :
Sub trouvé() Dim i As Byte, j As Byte, X As Byte Dim Cible As String Dim Val As Object Dim FirstAddress As String, Resultat As String, Tableau() As String Cible = InputBox(" Saisir le mot à rechercher : ", "Recherche", "Le mot") Application.ScreenUpdating = False For i = 2 To Sheets.Count Sheets(i).Activate With Sheets(i).UsedRange.Cells Set Val = .Find(Cible, LookIn:=xlValues) If Not Val Is Nothing Then FirstAddress = Val.Address Do Val.Select X = X + 1 ReDim Preserve Tableau(2, X) Tableau(0, X - 1) = "Cellule " & Val.Address Tableau(1, X - 1) = Sheets(i).Name Set Val = .FindNext(After:=ActiveCell) Loop While Not Val Is Nothing And Val.Address <> FirstAddress End If End With Next i Sheets(1).Activate Application.ScreenUpdating = True Resultat = "Resultat de la recherche sur le mot : " & Cible & Chr(10) & Chr(10) If X = 0 Then Resultat = Resultat & "Vide" Else For j = 1 To X Resultat = Resultat & Tableau(0, j - 1) & Chr(9) & Tableau(1, j - 1) & Chr(10) Next j End If MsgBox Resultat End Sub Ceci permet de retrouver le client... @+ nanard
__________________
Il n'y a pas de hasard pour nanard, du travail et encore du travail... |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
Je viens de regarder et de tester le code:
Ca fonctionne très bien, mais je ne sais pas comment exploiter le résultat pour obtenir la dernière activité d'un client. Si je comprend bien, il faudrait pouvoir extraire la derniere cellule de la liste pour faire une rechercheV dans le tableau de la feuille "clients": mais comment isoler cette valeur? ![]() Je joint le fichier avec la modif Merci pour votre aide précieuse ![]() |
|
|
|
|
|
#8 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
Bonjour,
je suis toujours sec sur la solution... Les messagebox sont une enigme pour moi et je n'arrive a savoir comment la schinter pour coller les valeurs dans une cellule. Une idée? ![]() |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 2 279
|
Salut Peppers,
Si je peux me permettre, pour moi ta BdD des clients est mal conçue Il faudrait plutôt : - 1 feuille liste des clients avec : nom, prénom, coordonnées - 1 feuille liste des enfants avec : nom-prénom client (ou code client), prénom enfant, date de naissance - 1 feuille Achats clients avec : nom-prénom client (ou code client), date achat, montant vente, article vendu Mais bon, c'est comme tu le souhaites ![]() En repartant de ta feuille d'origine et en restant sur le principe de définir des noms avec formule incorporée, tu trouveras ci-joint ton fichier modifié A+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Barbatruc ...
|
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
Bonjour,
Pas de pb pour ta remarque: au contraire tant que cela est constructif et permet de progresser cela ne me pose pas de pb ![]() Je viens de regarder ce que tu as fais et je dois dire que cela correspond bien a ma demande. Pour ce qui est de ta proposition de faire plusieurs tables de données: - en testant la solution proposé je m'apercois que dans les listes déroulantes je me retrouve avec plusieurs fois le même nom de client (en fait autant de fois que de ligne d'achat...): d'où ta remarque ![]() -si je comprend bien: le fait de faire plusieurs tables comme tu le proposes, doit éviter cette inconvenient. Par contre il y a 2 informations liées qui ne peuvent pas vraiment etre dissociées: le nom des parents (et prénom) et le prénom des enfants, car finalement le client final est l'enfant. Cela implique que dans la feuille d'historique d'achat le nom des parents ne suffit pas, il faut ajouter le prénom des enfants. J'ai fais la modif des feuilles comme tu le proposes, du coup les formules pour les listes déroulantes ne fonctionnement plus. ![]() je ferai la modif de la macro pour inserer un nouveau client quand les modifs seront stabilisées ![]() Merci encore pour votre aide mais je n'ai pas encore fini de solliciter votre immense savoir ![]() je joint le nouveau fichier |
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 2 279
|
Salut Pepers,
Je suis pas mécontent du travail accompli ![]() Tu trouveras ci-joitn ton fichier avec : - les formules qui vont bien - la macro AjoutClient qui va bien - les feuilles qui vont bien - Etc .... Tu me diras ce que tu en penses ![]() Nota : j'ai testé, mais ce n'est peut être pas sans bugs A+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Barbatruc ...
|
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
Bonjour Bruno,
Mais de quel travail tu parles? Dans ton cas j'ai plus l'impression que c'est un loisir ![]() Trève de plaisanterie: on approche du but... J'ai regarder le code que tu as écrit (j'en ai encore apprit grace à toi) et je pense qu'il y a un souci avec la macro de d'enregistrement d'un nouveau client: l'enregistrement ce fait bien pour la feuille listeClient mais pas pour les autres, ce qui fait que dans les listes déroulantes on ne retrouve pas la liste des enfants. Pour ce qui est des listes déroulantes: la cascade ce fait bien, par contre le dans "nom des parents" si on tape par exemple "M" pour rechercher "maman", il sort des résultats innatendu! Question: quel est la procédure pour enregistrer un nouvel achat d'un ancien client? En tout cas merci beaucoup pour ce "travail" ![]() ![]() |
|
|
|
|
|
#13 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 2 279
|
Salut Pepers,
Il est vrai que pour moi ce n'est absolument pas un travail, mais une vrai passion ![]() Ok pour les nouveaux clients puisqu'il s'agit en fait de l'enfant. Dans la feuille "ListeClients" il faut impérativement que les nom soient triés pas ordre alphabétique ! Sinon dans la liste il existe bien 2 noms commençant par "M", mais il prend les 2 premiers, donc ça ne va plus ! Après un tri c'est OK D'ailleurs dans le code de la macro, logiquement le tri doit se faire en auto après ajout d'un nouveau nom !? A+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Barbatruc ...
Dernière modification par BrunoM45 21/05/2008 à 15h41. |
|
|
|
|
|
#14 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: mai 2008
Messages: 14
|
et bien voila c'est fait!
j'ai des complexes! Je le savais qu'en m'adressant a des gens qui on une passion pour excel, un mec comme moi qui "bricole des truc" allait forcément complexer!! ![]() Quoi qu'il en soit j'ai regardé le fichier et j'ai 2 questions: - est il nécessaire que la cellule D7 de la feuille "nouveau" concatène les données? Parce que cette cellule est en fait une information au cas ou le nom de l'enfant est différent du parents (ce qui arrive régulièrement). - dans la feuille "vente": tu as mis des listes déroulantes dans la colonne A. Y a t'il une raison particulière? Dans la mesure ou c'est un historique de vente j'ai peur que mon épouse ne fasse une fausse manip et provoques des erreurs. Je vais présenter ca à Madame et je te tiens au courant. Merci une fois de plus pour ton aide ![]() |
|
|
|
|
|
#15 (permalink) | ||||
|
XLDnaute Barbatruc
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Version Excel : Excel 2003 (PC)
Messages: 2 279
|
Citation:
, nous avons tous débuté un jour avec peu de connaissances ...Citation:
Et pourquoi me diras tu ! Et bien simplement, parce qu'il arrive d'avoir des gens d'une même famile qui viennent acheter pour leur enfant. Donc si Dupond Danielle vient acheter pour son fils Luc et que Dupond Martine vient acheter pour sa fille Estelle Il faut bien différencier le fait que Estelle est la fille de Dupond_Martine, et que Luc est le fils de Dupond_Danielle Citation:
De l'un des 2 OK, mais des 2 !? Citation:
Dans la mesure ou c'est un historique de vente j'ai peur que mon épouse ne fasse une fausse manip et provoques des erreurs. Tout dépend si elle connaît un peu Excel ou pas du tout !? Je viens de m'appercevoir d'un petit bug dans la donnée validation de la cellule D5 Ca ne te présentait pas les bonnes informations de la colonne "B", mais celles masquées de la colonne "A" Corrigé sur le fichier joint ![]() A+
__________________
Cordi@lement. La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses. ![]() VBA, vous ne savez pas comment faire ... Pensez à l'enregistreur de macro ! Menu -> Outils -> Macro -> Nouvelle macro ![]() Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI Petite citation : C'est en XLDant que l'on devient XLDnaute Barbatruc ...
Dernière modification par BrunoM45 21/05/2008 à 19h48. |
||||
|
|
|
||||
| ANNONCES | |||||
![]() |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| Creation d'un logiciel de gestion du personnel sous excel | lapps | Forum spécial EXCEL 2007 | 3 | 12/04/2008 09h15 |
| Création d'historique automatique | Cappadoce | Forum Excel | 4 | 31/03/2008 18h38 |
| creation fichier client | kaillys | Forum Excel | 5 | 26/03/2007 18h44 |
| Création d'un fichier client | mikacmoi | Forum Excel | 1 | 05/06/2005 13h32 |
| creation de fichier client | Lagesse | Forum Excel | 1 | 28/04/2005 06h47 |