retour d'infos

mikepers

XLDnaute Occasionnel
bonjour.
Je vous joint le code de mon commandbutton ( rappel d'une ligne de la base via combobox, et validation des modifs via ce bouton )
Tout fonctionne mais après avoir effectué correctement la modification des données, le combobox ne renvoi pas visuellement la ligne corrigée ( étrange ). Je ne sais pas si mon 1er post est passé sur le forum. MON fichier est une base de donnée sous 2010.Il faudrait juste qu'après la correction des donnée, le cbx renvoi la ligne en cours, qui viens d'être modifiée. Mon fichier est dispo si vous le souhaitez. Merci pour votre aide, bien à vous. Michel

Private Sub CommandButton2_Click()
' modification des données
Application.ScreenUpdating = False
Sheets("base de donnée").Select
Dim L, i As Integer
L = Sheets("base de donnée").Range("A32767").End(xlUp).Row
For i = 2 To L
If Sheets("base de donnée").Range("A" & i) = userform1.ComboBox4.Value Then

Sheets("base de donnée").Range("B" & i).Value = userform1.TextBox2.Value
Sheets("base de donnée").Range("C" & i).Value = userform1.ComboBox1.Value 'date
ComboBox1 = Format(ComboBox1, "dd/mm/yyyy")' cette ligne est elle correcte ? ca semble fonctionner...
Sheets("base de donnée").Range("D" & i).Value = userform1.ComboBox2.Value
Sheets("base de donnée").Range("E" & i).Value = userform1.CheckBox3.Value
Sheets("base de donnée").Range("F" & i).Value = userform1.CheckBox4.Value
Sheets("base de donnée").Range("H" & i).Value = userform1.CheckBox5.Value
Sheets("base de donnée").Range("I" & i).Value = userform1.ComboBox3.Value
Sheets("base de donnée").Range("J" & i).Value = userform1.CheckBox1.Value
Sheets("base de donnée").Range("K" & i).Value = userform1.CheckBox2.Value
Sheets("base de donnée").Range("L" & i).Value = userform1.CheckBox8.Value
Sheets("base de donnée").Range("M" & i).Value = userform1.CheckBox9.Value
Sheets("base de donnée").Range("N" & i).Value = userform1.CheckBox10.Value
Sheets("base de donnée").Range("O" & i).Value = userform1.CheckBox7.Value
Sheets("base de donnée").Range("Q" & i).Value = userform1.CheckBox6.Value


End If
Next
Range("A2:Q100").Select
ActiveWorkbook.Worksheets("base de donnée").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("base de donnée").Sort.SortFields.Add Key:=Range( _
"A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("base de donnée").Sort
.SetRange Range("A2:Q100")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
ordercustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Load userform1
Sheets("OPEN").Select
Application.ScreenUpdating = True


End Sub
 

mikepers

XLDnaute Occasionnel
Re : retour d'infos

En fait j'ai compris, il s’agissait de la macro de tri qui perturbais le code.
lorsque je rappelle la ligne pour modification, finalement pas besoin de macro de tri après - les données sont simplement modifiés.
j'ai résolu mon problème comme ca.
merci pour votre réponse.
 

Discussions similaires

Statistiques des forums

Discussions
312 152
Messages
2 085 787
Membres
102 973
dernier inscrit
docpod