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
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
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.
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
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.