XL 2016 code formulaire de saisie

Phylo

XLDnaute Occasionnel
Bonjour

comme je suis un débutant de vba

j'ai écris un formulaire de saisie vba pour les employés de la société ou je travaille

mon objectif est d'ajouter une ligne à chaque fois que j'utlise mon formulaire pour un nouveau dossier
les informations a mettre par le formulaire consiste au code du produit, numéro de lot, qui l'a révisé et qui a relaché le dossier
le probléme est que a chaque fois j'ajoute de nouveau données, ça efface la ligne ancienne


merci de m'aider svp pour retravailler le code du bouton ajouter







'********************
'Procédure permettant d'ajouter un nouvel enregistrement dans la base de données
'************************************

Private Sub btnajout_Click()

Sheets("Source").Activate
Range("A1").Select
Selection.End(xlDown).Select 'On se positionne sur la derniére ligne non vide
Selection.Offset(1, 0).Select 'on se décale d'une ligne vers le bas
ActiveCell = txbposition.Value
ActiveCell.Offset(0, 1).Value = txbcode
ActiveCell.Offset(0, 3).Value = txbvrac
ActiveCell.Offset(0, 4).Value = txbfg
ActiveCell.Offset(0, 8).Value = Cmbreceptionbulk
ActiveCell.Offset(0, 10).Value = cmbrevisionbulk
ActiveCell.Offset(0, 12).Value = cmbrelachebulk
ActiveCell.Offset(0, 14).Value = cmbcombulk
ActiveCell.Offset(0, 16).Value = cmbreceptionfg
ActiveCell.Offset(0, 18).Value = cmbrevisionfg
ActiveCell.Offset(0, 20).Value = cmbrelachefg
ActiveCell.Offset(0, 22).Value = cmbcomfg


End Sub
 

Pièces jointes

  • Project AQ release avec useforme 02-08-2020.xlsm
    319 KB · Affichages: 44

Phylo

XLDnaute Occasionnel
Bonjour Francois
Peut etre je n'étais pas tres expliicte
ce fichier n'est pas encore rempli: je suis en train de le tester
je ne pense pas qu'un combotext peut etre convenable a 900 lignes pour chercher un numero de lot

merci bcp
 

jcf6464

XLDnaute Occasionnel
Bonsoir fanfan38, phylo et le forum,

Sans touché au travaille de fanfan38 qui est bien

une approche de ce que moi je désirerais voir sur l'userform

bonne continuation jcf
 

Pièces jointes

  • Project AQ release avec useforme 19-08-2020 verifié.xlsm
    756.2 KB · Affichages: 4

Phylo

XLDnaute Occasionnel
Bonjour Francois;

Le fichier marche jusque la trés bien :):)
mais j'ai une demande stp

1- Vu que la fonction recherche V cava m'alourdire ma base de donnée
J'aimerai utiliser un code vba dans la feuille (Source)
La fonction consiste a afficher le nom du produit dans la colonne C à chaque fois je tape un code du produit dans une cellule de la colonne B

mon tableau de réference se trouve dans la feuille (Mes listes)

voici le code que j'ai utilisé mais ça fonctionne pas

Sub test()
With Sheets("Source")
.Range("C3").Value = WorksheetFunction.VLookup(.Range("B3").Value, Sheets("Mes listes").Range("A1:B10000"), 2, False)

End With
End Sub

2- J'ai ajouté dans mon formulaire un bouton modifier
c'est pour actualiser la base si je fais une recherche mais je veux qu'elle modifie les informations de la ligne sans ajouter une nouvelle ligne.

Je m'excuse encore
 

Pièces jointes

  • Project AQ release avec useforme 20-08-2020 vf 1.xlsm
    738 KB · Affichages: 7

fanfan38

XLDnaute Barbatruc
Bonjour
La fonction que tu as mis en C fait sa très bien
par contre oublie pas de mettre des $ quand tu fais une fonction qui doit faire appelle à une plage précise
=SIERREUR(RECHERCHEV(B3;'Mes listes'!$A$2:$B$1691;2;FAUX);" ")

Maintenant si tu veux le faire par macro
a la fin de la macro: Worksheet_Change
mettre avant le: end sub
VB:
 If Target.Column = 2 Then
   Dim lig As Long 
   lig = Sheets("Mes listes").Columns(1).Cells.Find(what:=Target.Value, LookAt:=xlWhole).Row 
   Range("C" & Target.Row) = Sheets("Mes listes").Range("B" & lig).Value
End If

A+ François
 

Phylo

XLDnaute Occasionnel
Bonjour
La fonction que tu as mis en C fait sa très bien
par contre oublie pas de mettre des $ quand tu fais une fonction qui doit faire appelle à une plage précise
=SIERREUR(RECHERCHEV(B3;'Mes listes'!$A$2:$B$1691;2;FAUX);" ")

Maintenant si tu veux le faire par macro
a la fin de la macro: Worksheet_Change
mettre avant le: end sub
VB:
 If Target.Column = 2 Then
   Dim lig As Long
   lig = Sheets("Mes listes").Columns(1).Cells.Find(what:=Target.Value, LookAt:=xlWhole).Row
   Range("C" & Target.Row) = Sheets("Mes listes").Range("B" & lig).Value
End If

A+ François

Bjr Francois, le code marche trés bien je te remercie bcp

J'attend ta réponse pour le bouton modification

Bonne journée et bon week-end
 

Phylo

XLDnaute Occasionnel
Bonjour Francois

je me permets de sollicier ton aide car il me rest seulement comment créer un code pour un bouton modifier

ce bouton va me permettre au lieu d'ajouter une nouvelle ligne, c'est de compléter la ligne et enregistrer les modifications apportées

dans mon fichier; j'au une barre de recherche selon le numéro de lot

s'il trouve le numéro il ouvre l'userform avec toutes les informations de chaque cellule enregistrés dans la ligne pré-existante


je vous remercie par avance de toute l'aide que vous pourrez m'apporter !

Toute vos critiques sont les bienvenues !!
 

Pièces jointes

  • Project AQ release avec useforme 25-08-2020 vf 9 code protection.xlsm
    745.9 KB · Affichages: 5

jcf6464

XLDnaute Occasionnel
Bonjour fanfan38, phylo et le forum,

Je viens de faire un essai et un phénomène se passe quand j'ouvre le formulaire depuis le menu toutes les liste déroulantes y sont ,
mais depuis la source pour modification les listes n'y sont plus bizarre,

de plus quand je saisie une ligne la ligne se met hors du tableau sur mon ordi

Voilà pour l'essai à chaud

Joli travail

cordialement jcf
 
Dernière édition:

Phylo

XLDnaute Occasionnel
Bonjour Francois

- J'ai essayé moi aussi le bouton modifier, le code ne marche pas.
- Quand j'utilise la barre de recherche; il m'affiche le formulaire toutes les informations mais les listes déroulantes ne fonctionnent pas.

- En plus, je ne peux pas ajouter deux lignes successives, je dois à chaque fois fermer le formulaire et recommencer a nouveaux

merci
 

fanfan38

XLDnaute Barbatruc
C'est pas moi qui est créé 2 fois une variable nommée freviseurs
de plus beaucoup de ces variables nommées ne servent à rien
Bref j'ai réglé le problème
A+ François
 

Pièces jointes

  • Project AQ release avec useforme 25-08-2020 vf 9 code protection.xlsm
    746 KB · Affichages: 27

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
296