Aide excel

Résolu/Fermé
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010 - 22 févr. 2009 à 15:51
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010 - 27 févr. 2009 à 14:55
Bonjour polux ; bonjour le forum!
j'aimerais savoir si quelqu'un si connais sur excel ! car je me suis lancé dans la creation d'un petit fichier client (et je ne suis pas doué en vba ; je viens d'apprendre); et je cale sur la fin sur 2 voir 3 points !!! peux tu m'aider ?

fichier : http://cjoint.com/data/cxwQJnZi7T.htm

en fait j'aimerai avec luserfrom qui souvre en cliquant sur menu !!! que lorsque je choisis une prestation (et que je l'ajoute) cela me la met a droite avec le prix !!!!! mais je ne sais pas comment organiser ma feuille prestation et l'userform !!! pour que le prix se calcule automatiquement comme pour le choix des produits !!

jespere avoir été clair?

si tu peux m'aider ?

merci d'avance
A voir également:

15 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
24 févr. 2009 à 08:41
bonjour

je ne sais pas comment organiser ma feuille prestation et l'userform !!! pour que le prix se calcule

Tu devrais mettre le prix dans la colonne suivante de la prestation tout simplement.

Lorsque tu sélectionnes un type de prestation, tu alimentes ta listebox avec une boucle additem au lieu du rowsource et tu mets en colonne 2 de ta listbox le prix concomitant.
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
24 févr. 2009 à 13:13
MERCI DE ME REPONDRE C'EST SYMPA MAIS JE NE SAIS PAS COMMENT FAIRE CE QUE TU ME DIS !!!!! JE DEBUTE EN VBA ! CE QUE J'AI REUSSI A FAIRE ? JE L'AI FAIT EN M'INSPIRANT ET EN ADAPTANT PLUSIEURS PROJET DE PERSONNES ! ET LA JE CALE VRAIMENT !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
24 févr. 2009 à 16:48
bonjour

Évites d'écrire en majuscule : ce n'est pas correct.

En changeant :
'ListBox2.RowSource = ListBox1.List(ListBox1.ListIndex, (ListBox1.ColumnCount - 1))
par 

Dim x As Integer
Dim pres As Range
    For Each pres In Sheets("Prestations").Range(ListBox1.Value).Cells
        ListBox2.AddItem pres, x
        ListBox2.List(x, 2) = pres.Offset(0, 1)
        x = x + 1
    Next pres

puis ceci en validation

Call rlistview1(DESIGNATION:=ListBox2.Value, Quant:=1, PVTTC:=ListBox2.List(ListBox2.ListIndex, 2))

cela devrait fonctionner si tu as mis les tarifs dans la colonne suivante à la prestation.
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
25 févr. 2009 à 11:18
bonjour le forum !!! pardon pour les majuscules , j'avais pas fait attention!
merci gbinforme pour ta reponse !
mais sa bug ! au deux niveaux !!!!! par contre si l'enlève l'apostrophe a: 'ListBox2.RowSource = ListBox1.List(ListBox1.ListIndex, (ListBox1.ColumnCount - 1)) !!! les prestations s'affiche bien dans la listbox ! mais faudrait que le prix apparaisse aussi avec bien sur la quantité 1 ! pour correspondre a la listview !
et j'arrive pas !!!!

En espérant avoir de l'aide ; je vous souhaite une bonne journée ! (si besoin fichier joint en haut )
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
25 févr. 2009 à 15:48
bonjour

mais sa bug ! au deux niveaux !!!!!

C'est-à-dire ? quel est le problème ?
Désolé j'ai jeté le marc du café sans l'ausculter...

si l'enlève l'apostrophe

Bien sûr, j'ai mis en commentaire ton instruction... pour la remplacer par une fonction qui affiche le prix que tu veux !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
25 févr. 2009 à 17:02
re

alors en fait j'ai réaménagé la feuille prestation ! pour avoir une colonne prix ! mais lorsque je met :
Dim x As Integer
Dim pres As Range
For Each pres In Sheets("Prestations").Range(ListBox1.Value).Cells
ListBox2.AddItem pres, x
ListBox2.List(x, 2) = pres.Offset(0, 1)
x = x + 1
Next pres
au début sa me met erreur definie par l'application !

regarde, si comprend mieux que moi : http://cjoint.com/data/cBrbSJwOfY.htm

car la je bug aussi !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
25 févr. 2009 à 18:17
bonjour

au début sa me met erreur definie par l'application !

Tu as changé le nom du lancement du formulaire mais pas celui du formulaire !

j'ai réaménagé la feuille prestation

Parfait sauf que tes noms de listes ne sont plus du tout en phase...

Comme ceci cela devrait mieux fonctionner :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijzjfXoNV.zip
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
25 févr. 2009 à 19:27
oula !!
sa marche !!!! par contre je vois pas pourquoi je n'ai pas toutes les prestations ??? je vais regarder sa !!!!!
je te tiens au courant !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
25 févr. 2009 à 22:56
bonjour

Désolé, j'ai laissé intempestivement cette ligne :

lig = lig + 1

dans Private Sub UserForm_Initialize()

il suffit de la supprimer...
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
26 févr. 2009 à 16:14
ok merci
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
26 févr. 2009 à 09:39
bonjour ;
merci beaucoup cela fonctionne !

si je peux me permettre ; le bouton valider donne ceci :

Private Sub CommandButton1_Click()
Dim trouve As Boolean
Dim dl1 As Long ' dernière ligne
Dim Sh As Worksheet

If ComboBox1.ListIndex = -1 Then Exit Sub
If ComboBox8.ListIndex = -1 Then Exit Sub
If ComboBox9.ListIndex = -1 Then Exit Sub
Call calcul2
trouve = False
For Each Sh In Worksheets
If Sh.Name = ComboBox1.Value Then
trouve = True
End If
Next Sh
If trouve = False Then
With Sheets("Nom du client")
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = ComboBox1.Value
Range("B1") = ComboBox1.Value
Range("b2") = Sheets("Fichier client").Range("b" & ComboBox1.ListIndex + 2).Value
End With
End If
With Sheets(ComboBox1.Value)
For i = 1 To ListView1.ListItems.Count

dl1 = .Range("b65536").End(xlUp).Row + 1
'''''''' .Range("b" & dl1).Value = DTPicker2.Value
.Range("c" & dl1).Value = ListView1.ListItems(i).Text
.Range("d" & dl1).Value = ListView1.ListItems(i).ListSubItems(1).Text
.Range("e" & dl1).Value = ListView1.ListItems(i).ListSubItems(2).Text
.Range("f" & dl1).Value = ComboBox6.Value
.Range("i" & dl1).Value = ComboBox9.Value


Next i
dl1 = .Range("b65536").End(xlUp).Row + 1
''''.Range("b" & dl1).Value = DTPicker2.Value

.Cells(dl1, 5).Value = TextBox5.Value
.Cells(dl1, 6).Value = ComboBox6.Value
.Cells(dl1, 7).Value = TextBox7.Value
.Cells(dl1, 8).Value = ComboBox8.List(ComboBox8.ListIndex, 1)
.Cells(dl1, 9).Value = ComboBox9.Value
End With
enregistrement = True
End Sub

Alors en fait avant j'avais des feuilles clients (avec le nom du client) d'ou le with sheets ("nom du client") mais
j'ai annulé ces feuilles car jaurais eu trop de feuilles ! j'ai donc créé une feuille "Histo" !
Comment la remplir car dans le code vba ci dessus j'arrive pas a savoir ce qui touche au rangement ???
De plus si le client choisis plusieurs produits ou prestations je ne sais pas non plus comment faire pour que cela s'insère sur les lignes suivantes !

Feuille Histo (juste la feuille): http://cjoint.com/data/cCjLRU1OCP.htm

Si tu peux y jeter un coup d'oeil !
merci d'avance et bonne journée !!!!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
26 févr. 2009 à 18:36
bonjour

J'ai regardé ton problème et je pense avoir modifié selon ton souhait :

- j'ai rajouté la date qui manquait.
- j'ai rajouté le prénom alimenté en fonction du nom (à choisir si plusieurs pour le même nom).
- j'ai modifié ta validation pour documenter l'historique.
- les saisies sont effacées si correct.
- j'ai mis le formulaire en non modal pour avoir accès aux feuilles.
Cela permet de rajouter un client sans fermer mais il vaudrait peut-être mieux ouvrir un formulaire de saisie si le client est absent du fichier : à toi de nous dire.

Le classeur modifié :

http://www.cijoint.fr/cjlink.php?file=cj200902/cijxhsQJ0I.zip
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
26 févr. 2009 à 20:36
salut !
merci beaucoup sa fonctionne !

concernant ton idée ! en fait j'avais mis qu'un bout du fichier !! tiens je te joins le fichier complet pour que tu puisse voir à quoi cela ressemble !!! et voir si dans mon menu les fonctionnalités te paraissent correctes.

- pour la date qui manquait et que tu as rajouté : moi j'avais mis à la base un DTpicker ! mais comme cela sa me convient aussi (donc merci )

-pour le remplissage de la feuille histo c'est nickel : surtout la colonne K car si le client prend plusieurs produits ou fait plusieurs presta le détail en prix est marqué !!!!!! par contre serait il possible de supprimé l'affichage de la colonne I ( les quantités ) et d'y mettre les prix (qui était donc en k )??????

- sinon dans mon menu ya un bouton gestion du stock !! quand je choisis approvisionnent s'a m'ouvre un userform dans lequel je peux saisir les rentrés (et uniquement les entrée ; c'est volontaire); une fois validé cela alimente ma feuille produit de deux manière : dans un premier cela modifie mon stock et renseigne les colonne de I à O ! ya t'il un moyen pour alimenter aussi les sorties de stocks en remplissant la feuille produits de la meme maniere lors de la validation de luserform1 dans lequel on choisis les produits et prestas?????????

- et dans recap journée cela m'ouvre luserform recap journée mais je crois qu'il faut modifier certains codes car si tu regardes par exemple en cliquant dans la journée du 26/02/09 les colonnes :prestation ; moyen de paiement; montant; ne sont pas remplies correctement.

Je suis désolé de te demander sa mais j'en suis incapable !
D'ailleurs si tu as des idées à apporter n'hésite pas à m'en faire part !!!!!! car peut etre que je ne pense pas à tous ( d'ailleurs c'est souvent le cas on y pense qu'au moment de l'utilisation) !

fichier complet : http://cjoint.com/data/cCuKqIQJIi.htm

merci encore !!!!!!
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
26 févr. 2009 à 21:46
bonjour

serait il possible de supprimé l'affichage de la colonne I ( les quantités ) et d'y mettre les prix (qui était donc en k

En mettant le tarif avant la remise tu peux modifier ainsi
         '  .Cells(dl1, 10).Value = ListView1.ListItems(i).ListSubItems(1).Text nombre à supprimer
            .Cells(dl1, 7).Value = ListView1.ListItems(i).ListSubItems(2).Text
    Next i
    .Cells(dl1, 8).Value = ComboBox6.Value
    .Cells(dl1, 9).Value = TextBox7.Value
    For lig = 1 To Sheets("Calcul").Cells.SpecialCells(xlCellTypeLastCell).Row
        If Sheets("Calcul").Cells(lig, 2).Value = ComboBox8.Value Then _
            .Cells(dl1,10).Value = Sheets("Calcul").Cells(lig, 2).Offset(0, 1).Value
    Next lig

ya t'il un moyen pour alimenter aussi les sorties de stocks en remplissant la feuille produits de la meme maniere lors de la validation de luserform1 dans lequel on choisis les produits et prestas

Je pense surtout qu'il faudrait traiter le stock de façon différente.
- une colonne pour le stock : approvisionnements - ventes
- une colonne pour les approvisionnements
- une colonne qui va chercher dans l'historique les ventes avec une formule.

dans recap journée cela m'ouvre luserform recap journée

C'est ta feuille qui a changé de structure et qui donc ne peut pas s'afficher correctement.
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
27 févr. 2009 à 09:08
ok !

j'ai étudié ce que tu m'as dit ! mais je t'avouerai que je n'arrive pas à trouver une idée et surtout comment faire !
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
27 févr. 2009 à 09:30
bonjour

Je suppose que ton message concerne les stocks ?

à partir du moment où tu journalises tes approvisionnements, il est toujours très risqué de mettre à jour le stock réel car si tu commets une erreur tu ne peux plus réparer.

Les approvisionnements saisis devraient d'ailleurs être sur un onglet à part car tu va avoir des soucis en mettant les 2 informations sur la même feuille alors qu'elles ne sont pas de même nature.

Ensuite avec 2 formules de totalisation tu auras facilement les valeurs des approvisionnements et les ventes et ton stock est la différence entre les 2.
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
27 févr. 2009 à 09:50
merci de ta reponse rapide !!!!

oui ma question concernait les stock ; désolé de ne pas l'avoir mentionné !
à ton avis c'est faisable ou c'est trop compliqué ????? et pour ce que tu as dit le fait de gerer ses stock en réel ; si erreur cela est irréversible !! meme si apres on va dans la feuille et que l'on modifie manuellement ???

aurais tu une idée simple et opérationnel ????
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
27 févr. 2009 à 10:37
bonjour

meme si apres on va dans la feuille et que l'on modifie manuellement ???

Je ne considère pas que la "magouille" est une façon de gérer les informations...

aurais tu une idée simple et opérationnel ????

Je n'ai modifié que les feuilles pour te proposer une solution simple et il faudrait adapter le code en conséquence. Cela a l'avantage que si tu te trompes de produit d'approvisionnement par exemple il te suffit de contrepasser le mouvement en négatif pour rectifier et tu retrouves toujours ta manipulation.
De même pour rectifier lors de l'inventaire s'il y a lieu.

http://www.cijoint.fr/cjlink.php?file=cj200902/cijl89tRzk.zip
0
tchatcheur01 Messages postés 55 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 18 novembre 2010
27 févr. 2009 à 14:55
ok merci !!! c'est gentil !!!!

je vais regarder sa !!!!!

merci encore et passe une bonne journée
0