Bouton modifier, nouveau client, facturation et variables

Bonjour, je travaille sur un projet en VBA mais je bloque sur certains points, pouvez-vous m'aider à comprendre svp?

J'ai plusieurs points où je bloque:

- dans le userform AccueilClient, je n'arrive pas à récupérer la variable nomclient, je l'ai défini dans le module 2 en tant que variant et j'ai essayé plusieurs autres choses mais ca ne marche pas

Une fois que j'aurai le nom, je vais essayer de prendre les autres informations qui correspondent à son prénom, son poids, sa formule

- dans le userform ListeClient, j'ai essayé de mettre des contrôles, notamment pour le bouton modifier, sur les champs à renseigner, mais j'ai un soucis avec le numéro de téléphone, je n'arrive pas à l'afficher avec les espaces entres les chiffres

dans le même userform, je n'arrive pas à: quand je clique sur le bouton nouveau client, qu'il y ai juste le nouveau numéro du client qui apparaisse et que les autres champs soient vides pour les remplir, et faire apparaître les mêmes contrôles qu'avant

- dans le userform UFfacturation, j'ai un code pour générer un pdf de la facturation, sur le bouton générer une facture mais ca ne marche pas

Si quelqu'un pourrait jeter un œil à mon document, ça m'aiderait beaucoup

Je vous remercie d'avance,

bonne journée

72161221-projet.xlsm (208.54 Ko)

Bonjour,

Pas tout à la fois ! On y arrivera mieux !

AccueilClient : 1) je ne vois pas ce qui le lance ?

2) Pas d'initialisation... ?

3) Une variable nomclient est bien déclarée en var. publique, mais je ne la vois initialisée nulle part ?

De plus la déclarer Variant est inutile (toute variable est de type Variant quand on ne la type pas, et ne pas la typer String n'est pas très cohérent...

4) Une autre variable nomclient est déclarée dans une proc. du Userform... Dupliquer des noms de variable n'est jamais une bonne idée.

Dans ces conditions, on ne voit pas par quel miracle le nom du client pourrait apparaître !

Partie de la 2e question :

Pour mettre en forme une valeur à afficher sous forme de chaîne, on utilise la fonction Format...

(Ne jamais oublier que la fonction Format renvoie une valeur de type String, et que les valeurs des contrôles sont également toujours des données de type String...)

Cela amorcera la réflexion pour résoudre les difficultés...

NB- Je ne me prononce pas sur les Userforms, bien que je trouve qu'il y en ait beaucoup (justement trop, et complexes, pour s'amuser à les regarder), par contre rien ne justifie la présence de 3 modules Standard au lieu d'un.

Cordialement.

Je vous remercie pour la réponse,

AccueilClient est lancé par la macro livraison repas, après avoir entré les codes d'un client (identifiant: nom, mdp: adresse email)

j'ai modifié le type de la variable nomclient, mais je n'arrive pas à la faire apparaitre sur ce userform

Je reprends les question :

Où est initialisée la variable ?

Quelle procédure introduit sa valeur dans le Userform ?

Pour que quelque chose se fasse, il faut une action qui réalise la chose !

je ne vois pas comment initialiser la variable,

j'ai défini la variable "nomclient" public de type string dans le module, dans le userform compteclient j'ai mis: nomclient=celluletrouvee

pour pouvoir reprendre le nom cu client qui a été entré pour le code

mais je ne vois pas non plus comment faire une procédure pourintroduire la valeur dans le userform,

j'ai mis: textbox1.text=nomclient

mais je ne vois pas autrement

Ça se mord la queue !

Si tu n'initialise pas nomclient, la variable reste vide !

Quand tu mets : nomclient = celluletrouvee, tu lui affectes la valeur d'une autre variable...

Alors que contient celluletrouvee, comment a-t-elle été affectée... ?

Si tu fais des tas de Userforms avec des contrôles destinés à accueillir des valeurs mais que tu n'en affectes jamais, tout restera en l'état !

Par ailleurs, la proc. LivraisonAccueil lance Accueil, pas AccueilClient !?

D'accord, mais je ne vois pas comment initialiser nomclient, c'est peut être bête mais je ne comprend pas?

Je l'ai défini, mais je ne vois pas ce que je dois mettre d'autre

La variable celluletrouvee contient le nom de la personne qui s'est connectée, elle a été affectée par le nom du client et vérifié si ca correspondait bien à la base de donnée

je ne vois pas comment affecter la variable nomclient à la textbox1 autrement que: TextBox1.text=nomclient

Je l'ai défini, mais je ne vois pas ce que je dois mettre d'autre

Tu ne l'a pas défini ! tu as déclaré une variable pour le faire, l'essentiel reste à faire...

La variable celluletrouvee contient le nom de la personne qui s'est connectée, elle a été affectée par le nom du client et vérifié si ca correspondait bien à la base de donnée

Où est le code qui réalise cela ?

Rechercher des sujets similaires à "bouton modifier nouveau client facturation variables"