Facture

Bonjour,

En voyant une des que mon frère fournissait à ses clients, je me suis dit c'est pas possible de le laisser comme ça

J'ai une connaissance moyenne d'Excel mais nettement supérieure à la sienne. Donc j'ai décidé de lui faire un modèle de facture.

Le voici :

71modele.xlsm (29.36 Ko)

Cependant j'ai 3 gros soucis et j'aimerai rajouter une fonction sympa qui serait bien pratique si c'était possible:

SOUCI I

Quand je valide mon formulaire ça ajoute bien une ligne dans "Bdd factures" sauf que dans toutes les formules RechercheV de la feuille Facture sont modifié

Exemple

=RECHERCHEV(K1;'Bdd Factures'!A3:AJ976;3;FAUX)

Après l'ajout d'une ligne ça donne:

=RECHERCHEV(K1;'Bdd Factures'!A4:AJ976;3;FAUX)

Conséquences: Ma rechercheV ne fonctionne pas car toujours décalé

j'ai essayé

=RECHERCHEV(K1;'Bdd Factures'!$A3$:AJ976;3;FAUX)

mais ça fait bloquer la macro.

SOUCI II & III

Les données lues par la rechercheV sont mal interpretés

II / Une fois ma ligne validé, je regarde dans la feuille "Facture" sur la colonne Prix HT il marque le prix mais ne le le convertit pas au format comptabilité que j'ai mis. Parcontre si je retourne sur ma feuille "Bdd Factures" et que je fais clic droit et convertir là ça marche. Alors n'y a t'il pas un moyen que le formulaire génère dans le bon format directement?

III / Il y a t'il un moyen de faire une addition de rechercheV? Je crois avoir sur Google que ça marchait avec la fonction Sommeprod, mais je n'ai pas reussi à l'utiliser.

Fonction Sympa

Voilà j'aimerai savoir si c'était possible d'attribuer une double fonction au "bouton valider"

Je voudrais qu'au même comment où il rajouter la ligne il génère la facture au format pdf

j'ai trouvé un tuto pour envoyé vers une impression, j'ai fais un test dans UserForm2, j'ai mis ma sorti d'imprimante en pdf ça marche je crois mais le souci c'est que je ne sais pas où il s'enregistre? quand dans Word/Excel 2010 on sauvegarde en pdf il ouvre automatiquement le fichier mais là ce n'est pas le cas.

45facture-3.pdf (110.11 Ko)

Bonjour et bienvenu(e)

Pour commencer

Bonsoir,

Je vois que j'ai été pris de vitesse par Banzai (salut !), j'étais aux prises avec des mises à jour et quelques autres trucs... J'ai pris le temps de jeter un oeil, et comme on ne suit pas tout à fait les mêmes trajectoires cela te permettra d'élargir ton horizon.

Ton entreprise me paraît tout à fait louable. Il restera pas mal de boulot pour améliorer ton projet, mais l'essentiel, il me semble est tu parviennes à faire fonctionner ce que tu as prévu.

Particularités de ma proposition :

1) Nommer la base (on y échappe pas !) : la formule que j'ai utilisée :

=DECALER('Bdd Factures'!$A$2;;;NBVAL('Bdd Factures'!$A:$A);NBVAL('Bdd Factures'!$1:$1))

la rend dynamique dans ces deux dimensions (tu peux augmenter ou réduire le nombre de colonnes, aussi bien que l'augmentation des lignes sera prises en comptes. Elle inclut une ligne vide en fin de base, ce qui lui permet d'être définie dès le démarrage, et permet si une numérotion des factures simple est utilisée d'incrémenter automatiquement le numéro de facture (là cela les numérote de 1 à ..., ce qui peut être modifier pour s'adapter à une autre type de numérotation, car l'automatisation du numéro de facture est toujours une amélioration).

2) Il me semble qu'un bouton Quitter manquait pour fermer ton Userform.

D'autre part, j'ai remplacé ton déchargement-rechargement par un masquage, suivi par un message demandant si une autre facture est à établir, auquel cas le Userform est réinitialisé est affiché, sinon déchargé.

Ceci est fait par le bouton Valider, qui entretemps a opéré l'affectation de la saisie en utilisant une boucle (ce que tu trouveras aussi chez Banzai...), et passé la main à une procédure standard dans module1 pour enrgistrer la facture au format pdf dans le dossier du classeur (ce qui est évidemment modifiable).

Avant d'en venir à cette procédure, note que tu as intérêt à renommer tes contrôles dans un Userform (du moins ceux que tu utiliseras dans le code), ça facilite la vie (pour moi ça permet de raccourcir les noms aussi !) et ça permet de les organiser pour pouvoir utiliser des boucles. Sur ce point tu as tout de même droit à quelques félicitations pour avoir mis d'emblée une série de TextBox numérotés dans l'ordre de tes colonnes !

3) La procédure d'enregistrement est en quelque sorte un mix didactique pour lancer ta réflexion sur diverses possibilités utilisables et les combinaisons qu'on peut éventuellement en faire.

Elle est attachée à un bouton sur la feuille pour l'imprimer, bien que n'apparaissant pas dans la boîte macro en raison d'un argument optionnel [on affecte la macro au bouton avant de la doter d'un argument]. Cet argument optionnel a une valeur par défaut qui aboutit à ce que l'action sur le bouton imprime la facture. Lancée par la validation à partir du Userform avec un autre argument, elle enregistre alors la facture. On peut imaginer d'autres combinaisons...

4) Pour les formules, 2 choses à noter : utilisation de SIERREUR pour éviter l'affichage de valeurs d'erreur (quand la cellule numéro est vide) ; élimination des 0 intempestifs soit par la fonction T (mais qui empêcherait aussi l'affichage de nombres), soit par le format de cellule.

A toi de creuser tout ça. Et bon courage.

Cordialement

Ferrand

87modele.xlsm (36.54 Ko)

Désolé pour la duplication. Cela arrive parfois. J'ai effacé le second message dupliquant le premier...

Rechercher des sujets similaires à "facture"