VBA - renvoi dernière valeur enregistrée suivant critère
Bonjour à tous et meilleurs vœux!!!
Je souhaiterai récupérer la dernière valeur saisie d'un tableau suivant 1 critère dans un formulaire.
Dans le fichier joint, le souhaiterai récupérer le dernier kilométrage enregistré pour un véhicule donné (A, B ou C) sachant que le choix du véhicule se fait dans une combobox et la réponse doit alimenter une textbox.
Voici mon code qui ne fonctionne pas:
Private Sub ComboBox1_Change()
Worksheets("suivi").ListObjects("Tableau1").Range.AutoFilter _
Field:=1, _
Criteria1:="ComboBox1_Value", _
Operator:=xlFilterValues
MonResultat = Range("H_Fin").End(xlUp).Row
TextBox1.Value = MonResultat
Worksheets("suivi").ListObjects("Tableau1").Range.AutoFilter Field:=1
End Sub
D'avance merci pour votre aide!!!
Bonjour,
Pour info, la macro placé sur ton onglet ne sert à rien, il aurait fallu là placer dans l'USF
Bonjour M12,
Merci pour ta réponse!!
J'ai intégrer ton code à mon vrai fichier mais cela ne fonctionne pas :-(
Dans les faits, j'essaye de faire un tri sur une colonne pour renvoyer la dernière valeur enregistrée puis de défaire le tri.
J'ai donc écrit :
Private Sub ComboBox1_Change()
Worksheets("suivi").ListObjects("Tableau46").Range.AutoFilter _
Field:=3, _
Criteria1:="ComboBox1.Value", _
Operator:=xlFilterValues
Dim dl%, i%
dl = Sheets("suivi").Range("G" & Rows.Count).End(xlUp).Row
For i = dl To 5 Step -1
If Sheets("suivi").Cells(i, 6).Value = Me.ComboBox1.Value Then
Me.TextBox24.Value = Sheets("suivi").Cells(i, 7).Value
Exit Sub
End If
Next i
Worksheets("suivi").ListObjects("Tableau46").Range.AutoFilter Field:=3
End Sub
Je t'envoi mon fichier avec l'ensemble de mon code, si tu peux y jeter un œil aguerri ;-)
Bonjour Keyr0 et
Une petite présentation ICI serait la bienvenue
Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum
Sinon il y avait longtemps... des DTpicker dans les Userform
De plus pourquoi des Sub à l'intérieur de Sub
Un code correct serait :
' tri_ID_engin Macro
Sub tri_ID_engin()
With ActiveWorkbook.Worksheets("data engins")
With .ListObjects("Tableau3").Sort
.SortFields.Clear
.SortFields.Add2 Key:=Range("Tableau3[[#All],[ID Engin]]"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortTextAsNumbers
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End SubSinon, perso je ne peux pas aider étant en O365 64b
A+
Bonjour Bruno M45,
Merci pour ta réponse!! J'étais encore en 64b jusqu'à semaine dernière avant de changer pour cause incompatibilité avec logiciel SAGE....
Pour les DT Pickers, si tu a mieux, je suis preneur ;-)
Pour ce qui est du code dont tu parles, voici celui de mon module 6 qui ressemble fortement au tient:
Sub Alpha4()
'
' Alpha4 Macro
'
'
ActiveWorkbook.Worksheets("data engins").ListObjects("Tableau3").Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("data engins").ListObjects("Tableau3").Sort. _
SortFields.Add2 Key:=Range("Tableau3[[#All],[ID Engin]]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("data engins").ListObjects("Tableau3").Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Par contre, désolé mais je ne vois pas où tu a trouvé dans mon fichier celui que tu as écrit avec des sub à l'intérieur de sub ... en plus je n'ai pas de Listbox dans mon fichier.
Ce qui m'intéresse s'est de remplir la Textbox 24.
Merci Merci!!!!
Re,
Je n'utilise plus de DT picker depuis des années,
à la place je mets des Textbox et j'utilise aujourd'hui le super calendrier de notre ami PatrickToulon
https://www.excel-pratique.com/fr/telechargements/calendriers/calendrier-all-windows-no518
Je pense que vous n'avez tout simplement pas mis le bon fichier zippé
J'ai pris le dernier fichier donné sur le post de 22h11
https://forum.excel-pratique.com/d/download?p=1031276&f=95131_61df43ee51842159039122
Et j'ai fait simplement
Je suis arrivé directement sur 2 sub
A+
Bonjour Bruno M45,
Au temps pour moi, tu as raison et ces lignes trainaient dans mon code sans faire référence à aucune ListBox existante. Une trace d'un passé lointain de mon fichier excel ;-)