Je suis en train de me faire un fichier pour gérer la location d'un appartement et j'ai trouvé que le systeme VBA etait pas mal du tout
je vous joint le fichier Excel que j'ai réalisé ( et mes début en VBA dedans ) " pas peu fière pour une 1ere "
Ce que je n'arrive pas a faire ou a trouver :
* actuellement incrémentation de mon formulaire se fait par le haut
la ligne existante descend pour laisser la place au nouveau client
Je voudrais l inverse, que le nouveau client vient en dessous du premier
* je cherche a ce que la ligne créée s’incrémente de 1 ( colonne A ) afin d avoir un numéro de client
* dans les colonnes grises , est ce que je peux mettre des formules qui se calculerons des que la ligne sera rempli avec le formulaire ?
J’espère être assez clair dans ma demande, car je fatigue ce soir
En tout cas merci de votre aide que vous voudrez bien m'apporter
Il n'y a aucun rapport de codage ici.
La formule fonctionne parfaitement chez moi, je ne vois pas pourquoi ça en serait différent pour toi.
As-tu entré un numéro de client existant ?
Si tu as plusieurs fois le même client, cela sortira le premier client trouvé.
c'est bon ouf ça rentre dans l'ordre comme dirait l'autre
sinon 2 questions.
Est il possible de mettre les dates en 12/07/2016 plutôt que 12.07.2016 ( version français plutôt que Suisse) dans l enregistrement des tableaux
Est il possible d'avoir plutôt un n° de client par ligne et non pas un numéro de client par client identique
pour les celulles > format personnalisé> jj/mm/aaaa.
Et pour les texboxs: textbox12 = format(cells(lig, 7), "dd/mm/yyyy")
Pour les clients. Il y a la feuille clients qui fait cela. Et réféchi un petit peu, si le client viens 2 voir 3 fois durant l'année comment veux-tu avoir qu'une seule ligne???
Notes: quand on commence une base de données, on crée un tableau client(nom prénom adresse etc.), un tableau de type de location, un tableau de lignes de commandes(les doublons avec types de locations, dates etc.) et un tableau commandes clients pour faire les fiche commandes, factures etc.(en doublons aussi puisque les types et dates changent, et non quasiment tout en un bloc comme tu l'as fait.
1. Appliquer le format Date Courte aux colonnes intéressées, dans chaque feuille.
Ensuite sélectionner les dates et utiliser la procédure suivant :
VB:
Sub Dates()
For Each cell In Selection
cell.Value = CDate(Replace(cell.Value, ".", "/"))
Next cell
End Sub
2. Dans l'UserForm, supprimer les lignes
VB:
coldate =
VB:
format = (coldate, "dd.mm.yyyy")
3. Comme le dit Lone-Wolf, il serait dangereux pour toi d'avoir un numéro de client par ligne.
Il vaudrait mieux travailler en numéro de réservation et conserver l'ID pour chaque client, tu pourras ainsi ressortir toutes les réservations selon l'ID.
Regarde la PJ pour avoir une idée, j'ai supprimer les macros, modules et formulaires, sinon trop lourd. Ici c'est le numéro de commande qui permet de retrouver les infos et pouvoir faire ainsi les bons de commande, bulletins de livraisons et factures.