Private Sub UserForm_Initialize()
With Sheets("source")
cbomachine.List = .Range("B2", .Cells(Rows.Count, "B").End(xlUp)).Value
End With
End Sub
Private Sub Cbomachine_Change()...
Source : Camion GRUE 362994
Liste : Camion GRUE 362994
salut c'est pour qu'il soit identiques sur userform ( cbomachine ).Bonjour,
Comment voulez-vous faire, les données source ne correspondent pas à la liste !?
Exemple :
VB:Source : Camion GRUE 362994 Liste : Camion GRUE 362994
ma tete va s'exploser du conflit entre votre fichier et mon ancien fichierBonsoir le forum
Bonsoir BalighTomy, bonsoir BrunoM45
Petit soucis avec ton fichier donc j'ai repris la feuille source en la modifiant. J'ai remplacé le Cbomatricule par un TextBox, le Cbo étant pour ma part, inutile.
Bonne soirée à toutes & à tous
@+ Eric c
Private Sub UserForm_Initialize()
With Sheets("source")
cbomachine.List = .Range("B2", .Cells(Rows.Count, "B").End(xlUp)).Value
End With
End Sub
Private Sub Cbomachine_Change()
Dim LigneSel As Long
LigneSel = cbomachine.ListIndex + 2
Txtmatricule = Sheets("source").Range("C" & LigneSel).Value
End Sub
'Private Sub btnefface_Click() 'Pour effacer plus rapidement tous tes contrôles de l'USF
'Dim CTRL As Control
'For Each CTRL In Controls
'If TypeOf CTRL Is msforms.TextBox Or TypeOf CTRL Is msforms.ComboBox Then
'CTRL = ""
'End If
'Next
'End Sub
merci infiniment pour votre aideJe viens encore d'essayer mais le fichier doit être protégé en écriture car une permission de modifier m'est délivrée.
Dans le fichier du dessus post#4, je me suis basé sur la feuille "source" et non sur la feuille "Liste". Il faudra faire un choix, je n'ai pas regarder (comme notre ami Bruno) si elles correspondaient au niveau données...
Je te livre les codes à placer dans VBE - Je t'ai mis aussi un code pour effacer tes contrôles (moins de lignes de code). Tu zappes le Cbomatricule que tu remplaces par un TextBox (Txtmatricule).
Bonne nuitVB:Private Sub UserForm_Initialize() With Sheets("source") cbomachine.List = .Range("B2", .Cells(Rows.Count, "B").End(xlUp)).Value End With End Sub Private Sub Cbomachine_Change() Dim LigneSel As Long LigneSel = cbomachine.ListIndex + 2 Txtmatricule = Sheets("source").Range("C" & LigneSel).Value End Sub 'Private Sub btnefface_Click() 'Pour effacer plus rapidement tous tes contrôles de l'USF 'Dim CTRL As Control 'For Each CTRL In Controls 'If TypeOf CTRL Is msforms.TextBox Or TypeOf CTRL Is msforms.ComboBox Then 'CTRL = "" 'End If 'Next 'End Sub
@+ Eric c