programmer les composant du code d'un userform en vba

magicloic

XLDnaute Nouveau
Bonjour au forum !!

Je suis en apprentissage vba et j'ai du mal à programmer mes codes.
Si quelqu'un pouvait accorder de son temps à un débutant complet en vba comme moi ! je lui serais reconaisant !!
l'achat d'un bouquin sur vba est prévu ! mais en attendant pouvez vous m'apportez vos lumières sur:

- vocabulaire à employer (il doit exister un dico dans un tutorial sur le site d'aprés un utilisateur mais je ne le trouve pas)

- mes codes ne marchent pas car la selection de la feuille et des cellules me renvoi erreur 93 liste introuvable
Sheets("source").Range("J" & Lign) = Val(TextBox2) + Val(TextBox1)

Voila les explications

& Le userform1 permet de saisir la référence
les infos descriptive prix... doivent être modifiable ors je ne peut pas les changer car le click est impossible, je pense devoir incorporer

Private Sub TextBox2_Change() pour ensuite permettre le changement du contenu et ajouter un textbox valid pour enregistrer les modifs dans la source (mais la je n'ai pas le language adéquat d'ou un dico util !)

toujours sur ce userform si click sur entrée/sortie, le userform2 apparait

le fichier joint est plus clair que moi ! lol
merci d'avance et bonne journée
 

Pièces jointes

  • test userform saisie.zip
    40.5 KB · Affichages: 56

phmubdf38

XLDnaute Nouveau
Re : programmer les composant du code d'un userform en vba

salut magicloic,

La meilleure façon de s'auto-former a vb excel, dans un premier temps, est selon moi d'enregistrer une maco dans un classeur et d'aller voir le resultat dans vb (alt+F11). Ce qui est enregistré n'est pas optimisé, au sens programmation du terme, mais te permettra de découvrir le langage et les expressions VB correspondantes au actions Ecxel.
Ensuite, recherche des exemples correspondants à ce que tu veux faire et essaie de les adapter à tes besoins réels en utilisant l'aide vb excel qui t'expliquera l'utilisation précise de chaque terme.
Je vais étudier ton code et te proposer une solution. Ensuite tu essaieras,si tu le souhaites, de l'adapter à ton projet

Cordialement

Phil
 

Gael

XLDnaute Barbatruc
Re : programmer les composant du code d'un userform en vba

Bonjour Magicloic, Phmubdf38,

Certains pseudos sont difficiles à retenir, il faut les relire 3 fois pour être sûr de ne pas faire de faute :) 38, c'est l'Isère?

Pour répondre à la question, j'ai fait quelques corrections dans l'exemple joint.

J'ai déplacé le module de recherche dans la procédure "CommandButton1_Click()" plutôt que Textbox1_Change() pour attendre la saisie complète de la référence et n'effectuer l'action que sur le click du bouton Entrée/sortie.

Sinon, dans le code:

Code:
With Sheets("source")
Set C = .Range("A8:A" & .Range("A298").End(xlUp).Row).Find(TextBox1.Value)

il faut bien penser à mettre un "." devant chaque "Range" pour qu'il fasse référence à la feuille désignée dans le "With" et non pas la feuille active ("Saisie").

"A8" au lieu de "A20" pour commencer au début de la colonne.

Label13 se trouve dans le Userform1 et contient le n° de ligne correspondant à la référence trouvée.

@+

Gael

PS: Désolé, j'ai dit une bêtise, le code est mieux dans son emplacement d'origine "Textbox1_Change()", la recherche se fait au fur et à mesure de la saisie.

Corrigé dans la version ci-dessous.

Gael
 

Pièces jointes

  • userform saisie_V1.zip
    41 KB · Affichages: 62
Dernière édition:

magicloic

XLDnaute Nouveau
Re : programmer les composant du code d'un userform en vba

salut magicloic,

La meilleure façon de s'auto-former a vb excel, dans un premier temps, est selon moi d'enregistrer une maco dans un classeur et d'aller voir le resultat dans vb (alt+F11). Ce qui est enregistré n'est pas optimisé, au sens programmation du terme, mais te permettra de découvrir le langage et les expressions VB correspondantes au actions Ecxel.
Ensuite, recherche des exemples correspondants à ce que tu veux faire et essaie de les adapter à tes besoins réels en utilisant l'aide vb excel qui t'expliquera l'utilisation précise de chaque terme.
Je vais étudier ton code et te proposer une solution. Ensuite tu essaieras,si tu le souhaites, de l'adapter à ton projet

Cordialement

Phil


Merci à toi, c'est ce que je fais ou du moins essaye de faire !! lol
mon application marche de nouveaux !!
mais ça prendra du temps lol !!

bonne journée, désolé d'avoir été long à répondre

magicloic
 

magicloic

XLDnaute Nouveau
Re : programmer les composant du code d'un userform en vba

Bonjour Magicloic, Phmubdf38,

Certains pseudos sont difficiles à retenir, il faut les relire 3 fois pour être sûr de ne pas faire de faute :) 38, c'est l'Isère?

Pour répondre à la question, j'ai fait quelques corrections dans l'exemple joint.

J'ai déplacé le module de recherche dans la procédure "CommandButton1_Click()" plutôt que Textbox1_Change() pour attendre la saisie complète de la référence et n'effectuer l'action que sur le click du bouton Entrée/sortie.

Sinon, dans le code:

Code:
With Sheets("source")
Set C = .Range("A8:A" & .Range("A298").End(xlUp).Row).Find(TextBox1.Value)

il faut bien penser à mettre un "." devant chaque "Range" pour qu'il fasse référence à la feuille désignée dans le "With" et non pas la feuille active ("Saisie").

"A8" au lieu de "A20" pour commencer au début de la colonne.

Label13 se trouve dans le Userform1 et contient le n° de ligne correspondant à la référence trouvée.

@+

Gael

PS: Désolé, j'ai dit une bêtise, le code est mieux dans son emplacement d'origine "Textbox1_Change()", la recherche se fait au fur et à mesure de la saisie.

Corrigé dans la version ci-dessous.

Gael

Un grand merci, ça marche bien, et je commence tout juste à piger le fonctionement vba

Bonne journée, désolé d'avoir été si long à répondre
 

Discussions similaires

Réponses
8
Affichages
354