Suivi visite client --- avec vba et en boucle infini

Jeanbulle

XLDnaute Occasionnel
Bonjour à tous...
Je bloque sur un fichier qu'une amie m'a demandé.
Elle est esthéticienne, et a besoin d'un programme de ce type :

Creation de nouveau client = OK
Consultation de fiche client = OK
Modification des informations clients = OK
Suivi des visites qu'effectue le client... = pas OK.

En fait, chaque 10 visite, et ce pour n'importe quel montant, elle désire appliquer une réduction de 10 % sur le CA que le client lui a fait.

Le soucis, c'est que je dois créer un USERFORM ou il lui sera possible de saisir visite par visite, avec le détail des soins, et le montant des soins, puis de le sauvegarder... et ce pour infini visite.

Quelqu'un à une idée de boucle ?
Je poste un fichier pour que vous puissiez voir ce que j'ai fait.
Je n'ai pas attaqué les visites car je ne vois pas comment créer cette boucle qui viendra se rattacher au bon client.

Merci de vos informations par avance.
Et joyeux noel ;)
 
Dernière édition:

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Re ..
J'ai enlevé sur le fichier ci dessous, le mot de passe VBA.
Excusez moi et merci de votre aide :)
 

Pièces jointes

  • esthétique.zip
    33.4 KB · Affichages: 249
  • esthétique.zip
    33.4 KB · Affichages: 219
  • esthétique.zip
    33.4 KB · Affichages: 226
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Suivi visite client --- avec vba et en boucle infini

Salut Jeanbulle, re le forum,

3 trucs :

1) Mes compétences en VBA sont quelques peu limitées, surtout en réponse directe, avec un peu de temps, ça va ou cela peut aller. Donc, présentement, il m'est impossible de te répondre.

2) Ton code est déjà beugué...

3) Ton fichier est protégé...

Ce message pour ceux qui pourront prendre la suite...

Bonne fêtes, en tous cas....

Jean-Pierre
 

jp14

XLDnaute Barbatruc
Re : Suivi visite client --- avec vba et en boucle infini

Bonjour

Ci joint le fichier excel avec un début de réponse.

Joyeux Noël

JP
 

Pièces jointes

  • esthétique.zip
    26 KB · Affichages: 120
  • esthétique.zip
    26 KB · Affichages: 129
  • esthétique.zip
    26 KB · Affichages: 129

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Bonjour,

Mon code ne bug pas chez moi... A quel niveau tu trouves un bug ?
J'ai oté la protection sur le second fichier.
Je vais supprimer le premier fichier joint.

Merci de vous y pencher dessus :)
 

jeanpierre

Nous a quitté
Repose en paix
Re : Suivi visite client --- avec vba et en boucle infini

Re,

Il ne fonctionne pas en modification, malgré les nombreux messages...(pas très utiles à mon sens, dans la mesure où il y a déja demande de modification...)

Il beugue ensuite en création...(module caché....)

Voilà...
 

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Désolé Jeanpierre, je ne comprends pas exactement ce que tu veux dire...
Puisque chez moi, je n'ai pas d'erreur.

Quoi qu'il en soit, j'ai trouvé une solution, enfin l'idée.
Je vais simplement inclure dans le userform ficheclient, 3 champs que mon amie désire remplir pour la visite d'un client :
- Soins effectués
- Produit vendu
- Total

Ensuite, il me faudrait le code qui permet de trouver la première colonne vide, sur la même ligne du client sélectionné dans la listbox1.

J'avais utilisé ceci pour trouver la première ligne vide à partir d'une cellule, mais je ne trouve pas comment l'adapter ...

Code:
lig = WSCible.Columns(1).Find("", WSCible.Range("A2"), , , xlByRows).Row

Sauriez vous m'aider sur ce point ?


Car une fois la colonne vide trouvé, j'envoi les données dedans, j'efface les saisies de mon amie,
et puis les nouvelles qui seront rentrées iront à la prochaine colonne vide, et seront affichées comme visite numéro deux etc ...


Grand merci
 

JYLL

Nous a quitté
Repose en paix
Re : Suivi visite client --- avec vba et en boucle infini

Bonjour JeanBulle et le forum,

J'ai jeté un cil dans ton programme, les cellules que tu dévérouilles à l'aide de ton bouton sont les cellules où il n'y a rien d'inscrit, les autres sont toujours bloquées.

Bonne continuation, si j'ai vraiment du temps je vais regarder.
 

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Bonjour,

Oui je te remerci si tu peux y jeter un oeil ... car, misère misère.


Pour ce qui est des cellules vide que je dévérouille, c'est pour permettre une saisie, puis les re verouiller pour que mon amie n'écrive pas dans un champ sans faire exprès.

Mais, c'est la seule solution qui m'est venu à l'idée, si t'as autres choses sur ca... je suis toujours preneur.


Enfin, surtout pour l'histoire de la recherche de colonne vide, suivant la ligne sélectionné me faudrait ^^
Je vous tiens au courant si je trouve de mon coté

Grand merci en tout cas :)
 

jp14

XLDnaute Barbatruc
Re : Suivi visite client --- avec vba et en boucle infini

Bonsoir

Ci joint un fichier avec l'usf pour le suivi des visites en fonction du client et de la date
Indication du nombre de visites dans la fiche client

A adapter en fonction de l'application

JP
Joyeux Noël
 

Pièces jointes

  • esthétique.zip
    38.4 KB · Affichages: 146
  • esthétique.zip
    38.4 KB · Affichages: 137
  • esthétique.zip
    38.4 KB · Affichages: 164

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Super merci !
L'idée est la, je vais adapter et je vous tiens au courant.
Surement pas avant lundi soir, je pars demain matin pour deux jours.
Mais, je prends mon ordi portable pour bosser le soir, les gens qui m'entourent se couche assez tot :)


Merci encore
bravo !
 

JYLL

Nous a quitté
Repose en paix
Re : Suivi visite client --- avec vba et en boucle infini

Bonsoir JeanBulle et toute l'équipe,

Je me suis permis de regarder un peu où tu en étais. pour la saisie de la date j'ai ajouté un calendrier. Pour ce faire, dans VB tu cliques sur "Outils" "Contrôles complémentaires" puis tu te serts de la liste déroulante jusqu'à trouver " Contrôle calendrier X" X représente ta version d'Excel 9.0 pour 2000. et j'ai modifier le code pour que cela fonctionne. Dit moi si cela est bon, tu peux supprimer ta combox1.

Bon test.
 

Pièces jointes

  • esthétique.zip
    33.3 KB · Affichages: 88
  • esthétique.zip
    33.3 KB · Affichages: 97
  • esthétique.zip
    33.3 KB · Affichages: 105

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Bonjour,

Pourrais tu m'expliquer exactement comment fonctionne ce passage de code ?
Code:
lig = rechercheligne("Feuil4", "A", TextBox5, 1, 2)
compteur = 1
While lig > 0
lig = rechercheligne("Feuil4", "A", TextBox5, 1, lig + 1)
compteur = compteur + 1
Wend
Label20.Caption = 0
If compteur > 0 Then
Label20.Caption = compteur - 1
End If

qui fonctionne avec le code
Code:
Private Function rechercheligne(feuille As String, colonne As String, dataf As String, nbcol As Integer, depart As Long)
Dim dataf1 As String
Dim if1 As Integer
Dim if2 As Long


dl2 = Sheets(feuille).Range(colonne & "65536").End(xlUp).Row
For if2 = depart To dl2
    dataf1 = ""
    If nbcol > 1 Then
        For if1 = 1 To nbcol
            dataf1 = dataf1 & Sheets(feuille).Range(colonne & if2).Offset(0, if1 - 1)
        Next if1
    Else
        dataf1 = dataf1 & Sheets(feuille).Range(colonne & if2)
    End If
        
    If dataf = dataf1 Then
        rechercheligne = if2
        Exit Function
    End If
Next if2
rechercheligne = 0
End Function

Pour la simple et bonne raison que je ne le comprends pas exactement, et que j'ai besoin de vos cervelles à ce niveau afin de faire un petit ajout.
Le code compte le nombre de visite pour un client donné, et écris ce nombre dans le label20.
Sur un autre userform, j'ai une saisie des visites, avec pour chaque visite, la case montant de la visite.
j'ai besoin que chaque 10 visite, le code vienne ajouter le montant des 10 dernières visite, et en calculer 10% de remise pour le client, et l'affiche par une textbox.
Enfin, peu importe ce que j'ai besoin... j'ai besoin que vous m'expliquiez ce bout de code avec précision.

Grand merci
J'ai déjà beaucoup avancé grace à votre aide

A plus tard
 

jp14

XLDnaute Barbatruc
Re : Suivi visite client --- avec vba et en boucle infini

Bonsoir

Ci-joint un fichier avec des réponses aux questions posées.

JP
 

Pièces jointes

  • esthétique.zip
    46.3 KB · Affichages: 185
  • esthétique.zip
    46.3 KB · Affichages: 198
  • esthétique.zip
    46.3 KB · Affichages: 232

Jeanbulle

XLDnaute Occasionnel
Re : Suivi visite client --- avec vba et en boucle infini

Bonsoir,

Grand merci pour ton fichier divin exceleur :)
Je me suis efforcé de comprendre le code du userform3, au niveau de l'appareil du label21, et du compteur de visite.
J'ai tout compris !
Merci ..

Par contre, le coup du code du userform2 relève d'un peu plus de neuronnes.
Donc, oooooo divin exceleur, puis je boire à nouveau tes ajouts d'explications ?
Corrige moi ou je me trompe

Code:
lig = rechercheligne("Feuil4", "A", Label2.Caption, 1, 2)     'recherche des lignes contenant le nom du client 

If lig = 0 Then Exit Sub      ' pas de client, on sort
compteur = 0    ' initialisation du compteur


Do While lig > 0 ' tant que lig >0 'c'est à dire que l'on trouve le même nom de client
    compteur = compteur + 1       ' on ajoute 1 au compteur
    ComboBox1.AddItem Sheets("feuil4").Range("B" & lig)    [b]' ca je ne comprends pas ..........[/b]
    total = total + Sheets("feuil4").Range("D" & lig)   'variable total = variable total + montant dernière facture
    If compteur = 11 Then ' il faut initialiser les données  ' 
        total = Sheets("feuil4").Range("D" & lig)  [b]' donc ici .. si on trouve 11 fois le même nom, alors on initialise le compteur sur 1, et on donne à la variable total la valeur de la dernière ligne trouvée ? [/b]
        compteur = 1
    End If
    lig = rechercheligne("Feuil4", "A", Label2.Caption, 1, lig + 1) ' et on poursuit la recherche de ce même client à partir de cette dernière ligne ? 

    If lig = 0 Then Exit Do ' on sort
Loop 

    Label8.Visible = False
    Label9.Visible = False

If compteur = 10 Then
    Label8.Visible = True
    Label9.Visible = True
    Label8.Caption = total
    Label9.Caption = total * 0.1


Merci de me corriger.
Mais je pense l'avoir à peu près compris sauf la ligne ou je te le stipule.
Dans tous les cas, permet moi de te complimenter, car tu as trouvé la boucle idéale pour faire ce type de compte.
Je n'aurais vraiment pas su le trouver tout seul, et avec si peu de code.

Comment voulez vous ensuite qu'on arrive à poster des réponses sur les autres sujet ouvert, sachant qu'il y a des BOSS comme vous qui pourrez nous reprendre ... :'(

Allez merci
a plus tard
 

Discussions similaires

Statistiques des forums

Discussions
312 432
Messages
2 088 373
Membres
103 835
dernier inscrit
Jaco24