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