XL 2010 mettre les valeurs d'une ligne dans un userform

loul03

XLDnaute Occasionnel
Bonjour

dans le fichier que j'ai joint, je souhaite que l'userform se complète en fonction des résultats qui sont en face du numéro de parc demandé et donc qu'il me retrouve la ligne correspondant à ma demande.

J'ai essayé de le mettre en place mais vba me sort des codes de mauvais montage de la macro.

Quelqu'un saurait-il m'indiquer comment je pourrais procéder pour que mon userform se complète avec les infos correspondantes au numéro de parc choisi svp?
Merci beaucoup pour le coup de pouce que vous pourrez me donner,

bonne journée
 

Pièces jointes

  • essai camion.xlsm
    41.7 KB · Affichages: 28

ChTi160

XLDnaute Barbatruc
Bonjour lou03
Bonjour le Fil ,le Forum
une approche lol
voilà ce que j'ai mis (dans la procédure num_parc) et qui semble répondre à la demande !
Attention à l'utilisation de "RowSource"
VB:
Private Sub num_parc_Change()
    Dim o As Worksheet
    Set o = Worksheets("infos")       
    miLigModif = CLng(num_parc) + 1 'On récupére la Ligne cible   
    Select Case o.Range("c" & miLigModif).Value
                 Case Is = "Tracteur"
        OptionButton1.Value = True
                 Case Is = "Citerne"
        OptionButton2.Value = True
                 Case Is = "Porteur"
        OptionButton3.Value = True
                 Case Is = "Remorque"
        OptionButton4.Value = True
   End Select   
    immat.Text = o.Range("b" & miLigModif).Value
    chassis.Text = o.Range("e" & miLigModif).Value   
    Set o = Nothing   
End Sub
Bonne fin de journée
Amicalement
jean marie
 

loul03

XLDnaute Occasionnel
Bonjour Jean-Marie

merci de ton aide , j'ai modifié le code fait initialement, mais lorsque je lance la macro, il m'indique variable non définie.

pourquoi attention à Rowsource qu'est ce que cela peut engendrer comme souci?

as tu une idée d'où vient l'erreur?

VB:
Option Explicit

Private miLigModif As Integer


Private Sub num_parc_Change()


    Dim o As Worksheet
   
    Set o = Worksheets("INFORMATIONS GENERALES")
   
   
    miLigModif = CLng(num_parc) + 1
   
   
   
   Select Case o.Range("c" & miLigModif).Value
   Case Is = "Tracteur"
        OptionButton1.Value = True
    Case Is = "Citerne"
        OptionButton2.Value = True
  Case Is = "Porteur"
        OptionButton3.Value = True
    Case Is = "Remorque"
        OptionButton4.Value = True
    End Select
   
    immat.Text = o.Range("b" & pili).Value
    chassis.Text = o.Range("e" & pili).Value
    num_DI.Text = o.Range("d" & pili).Value
    dur_contrat.Text = o.Range("j" & pili).Value
    km_contrat.Text = o.Range("l" & pili).Value 'téléphone
    periodicite.Text = o.Range("m" & pili).Value 'nom cartegrise
    km_TIP.Text = o.Range("w" & pili).Value
    num_preleveur.Text = o.Range("r" & pili).Value
    km_mines.Text = o.Range("u" & pili).Value 'Type
   
   
    Set o = Nothing
   
End Sub


Private Sub UserForm_Initialize()
With ThisWorkbook.Sheets("INFORMATIONS GENERALES")
    .Range("A2:A" & [A65356].End(xlUp).Row).Name = "numero_parc"
End With
Me.num_parc.RowSource = [numero_parc].Address
 
End Sub

par avance merci
 

ChTi160

XLDnaute Barbatruc
Re
Le message d erreur est du au fait que tu as ”Option explicit ”en tete de module et que tu dois utiliser une variable sans l avoir declare.
Pour ce qui est de ”RowSource”
Ne t inquiete pas lol
Sans fichier difficile de t aider plus!
Bonne fin de journee
Jean marie
 

loul03

XLDnaute Occasionnel
bonjour Jean-Marie

oui j'ai pourtant fait les modifs. mais je ne parviens pas à avoir les infos de la bonne ligne.

je te mets le fichier pour l'idée! ;)

bonne soirée
merci bien
 

Pièces jointes

  • essai camion.xlsm
    46.2 KB · Affichages: 26

ChTi160

XLDnaute Barbatruc
Bonjour loul03
Bonjour le Fil ,le Forum
arrfff pas étonnant Lol
Tu te bases sur le Numéro de parc , qui n'a rien a voir avec la Ligne ou les données se trouvent .
j'ai donc mis :
VB:
Private Sub num_parc_Change()
    Dim o As Worksheet     
    Set o = Worksheets("INFORMATIONS GENERALES")
    Dim miLigModif As Integer           
    miLigModif = CLng(Me.num_parc.ListIndex) + 2 'Ici voir la référence au ListIndex du control
pas sur que cela règle tout le temps ton problème ! Lol
Bonne fin de Journée
Amicalement
jean marie
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87