Merci à vous deux; les explications très techniques que vous me donnez me portent à croire que mon code est mal orienté. Voici donc la totalité du code ( il s'agit de rappeller la valeur d'un tableau, par un combobox, puis de retirer toutes les autres infos référentes de la base de donnée, via bouton ):
le code bouton :
If MsgBox('Sortir du Stock ?', _
vbYesNo + vbQuestion, 'Confirmation') = vbYes Then
End If
Application.ScreenUpdating = False
Range('A1').Select
Sheets('liste fa').Select
Dim config As Integer
Dim réponse As Integer
Dim L, i As Integer
L = Sheets('liste fa').Range('A32767').End(xlUp).Row
For i = 2 To L
If Sheets('Liste fa').Range('a' & i) = UserForm1.ComboBox5.Value Then
Sheets('liste fa').Range('A' & i).Select
ActiveCell.ClearContents
ActiveCell.Offset(0, 1).ClearContents
ActiveCell.Offset(0, 2).ClearContents
ActiveCell.Offset(0, 3).ClearContents
ActiveCell.Offset(0, 4).ClearContents
ActiveCell.Offset(0, 5).ClearContents
ActiveCell.Offset(0, 6).ClearContents
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
le code du combobox de recherche:
Private Sub ComboBox5_Change()
' rappel du titre FA
Dim L As Integer, i As Integer
L = Sheets('liste fa').Range('A32767').End(xlUp).Row
For i = 2 To L
If Sheets('liste fa').Range('a' & i) = UserForm1.ComboBox5.Value Then
UserForm1.ComboBox3.Value = Sheets('liste fa').Range('C' & i).Value
UserForm1.TextBox4.Value = Sheets('liste fa').Range('G' & i).Value
UserForm1.ComboBox1.Value = Sheets('liste fa').Range('D' & i).Value
UserForm1.TextBox2.Value = Sheets('liste fa').Range('F' & i).Value
UserForm1.TextBox12.Value = Sheets('liste fa').Range('B' & i).Value
UserForm1.TextBox13.Value = Sheets('liste fa').Range('E' & i).Value
End If
Next
End Sub
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
vu que celà fonctionne sous 2003, j'était partie sur l'idée d'une incompatibilité de version.
Mais je ne comprend toujours pas comment corriger cecode pour qu'il fonctionne sous 97!!!
J'ai pensé à un contrôle du bouton au début qui empêche l'exécution du code. Bref,que faire??
( je ne comprend pas AV quand il demande de 'déclarer long'. Niveau VBA très moyen)
Bien à vous.