Copier valeur d'une cellule par la ligne d'un combobox

Bonjour,

Je cherche à savoir si c'est possible de copier la valeur d'une cellule (dans feuille Data1) qui appartient à la même ligne d'un combo-box (ComboBox_client) dans une autre cellule d'une autre feuille (Bon_intervention).

ex : C'est le ComboBox_client qui va déterminer la ligne (dans feuille Data1) puis la cellule d'une colonne J (Tel_fix_Pro) pour l'afficher dans la feuille (Bon_intervention) et cellule U13.

Valable à chaque nouveau remplissage de l'userform par le bouton remplissage formulaire feuille Liste_BI.

Je met le fichier excel :

Pour tester j'ai mis les cellules mais pas par sélection de ligne dans code userform.

Merci. Parce que je sèche.

Bonjour,

Pas très clair ta demande, mais plus en regardant ton code

Si j'ai bien compris voici le code pour remplacement

Private Sub Bouton_creer_fiche_intervention_Click() ' Envoie des données vers la fiche intervention
  Dim LigClt As Long
  Dim NomSté As String
  ' Mémoriser le nom de la socité choisi
  NomSté = Me.ComboBox_client.Value
  ' Test
  If NomSté = "" Then
    MsgBox "Vous devez choisir le client !", vbExclamation, "OUPS ..."
    Exit Sub
  End If
  ' En cas d'erreur on continue le code
  On Error Resume Next
  ' Avec la feuille de donnée
  With ThisWorkbook.Sheets("Data1")
    ' Trouver la ligne du client
    LigClt = .Range("H:H").Find(What:=NomSté, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
      MatchCase:=False, SearchFormat:=False).Row
    ' Inscrire les données dans le BI
    Sheets("Bon_intervention").Range("F10") = TextBox_n_fiche.Value
    'Sheets("Bon_intervention").Range("B5") = DTPicker1.Value
    Sheets("Bon_intervention").Range("M13") = ComboBox_client.Value
    Sheets("Bon_intervention").Range("O14") = .Range("N" & LigClt).Value ' Inscrit la valeur de la cellule MAIL
    Sheets("Bon_intervention").Range("U13") = .Range("J" & LigClt).Value ' Inscrit la valeur de la cellule TEL
    Sheets("Bon_intervention").Range("M15") = .Range("P" & LigClt).Value ' Inscrit la valeur de la cellule ADRESSE
    Sheets("Bon_intervention").Range("M16") = .Range("Q" & LigClt).Value ' Inscrit la valeur de la cellule CODE POSTAL
    Sheets("Bon_intervention").Range("P16") = .Range("R" & LigClt).Value ' inscrit la valeur de la cellule VILLE
    Sheets("Bon_intervention").Range("O17") = .Range("O" & LigClt).Value ' Inscrit la valeur de la cellule SITE WEB
    Sheets("Bon_intervention").Range("O18") = .Range("S" & LigClt).Value ' Inscrit la valeur de la cellule SIRET
    'Sheets("Bon_intervention").Range("T18") = .Range("??3 & ligclt).Value ' Inscrit la valeur de la cellule TVA INTRACOM = pas de colonne pour ça
  End With

  Sheets("Bon_intervention").Range("I15") = TextBox_date_DI.Value
  Sheets("Bon_intervention").Range("I16") = TextBox_date_intervention.Value
  Sheets("Bon_intervention").Range("I17") = ComboBox_type_intervention.Value
  Sheets("Bon_intervention").Range("I18") = ComboBox_edite_par.Value
  Sheets("Bon_intervention").Range("F24") = TextBox_Nom_de_l_equipement.Value
  Sheets("Bon_intervention").Range("C25") = TextBox_detail_intervention.Value
  Sheets("Bon_intervention").Range("C37") = TextBox_observations_fournitures.Value
  'Sheets("Bon_intervention").Range("B34") = DTPicker2.Value
  Sheets("Bon_intervention").Range("H41") = ComboBox_essaie_de_fonctionnement.Value
  Sheets("Bon_intervention").Range("G47") = TextBox_Heure_d_arrivee_1.Value
  Sheets("Bon_intervention").Range("P47") = TextBox_Heure_de_depart_1.Value
  Sheets("Bon_intervention").Range("G48") = TextBox_Heure_d_arrivee_2.Value
  Sheets("Bon_intervention").Range("P48") = TextBox_Heure_de_depart_2.Value
  Sheets("Bon_intervention").Range("U48") = TextBox_durée.Value
  '
  MsgBox "La fiche d'intervention a été créée." 'affiche un message de confirmation
  '
End Sub

A+

Bonjour BrunoM45,

Un grand merci, le code est super bien écrit.

C'est exactement ce que je voulais.

Comme ça fait un petit moment que je cherchais, une question,

Combien de temps ça t'a pris pour trouver la solution?

Jean

Salut Jean

Pour te ménager, je préfère ne pas répondre à ta question

Bon, ça fait un paquet d'années que je connais VBA

OK Merci en tout cas super-sympa pour la réponse.

J'ai autre chose.

1-Je souhaiterais renvoyer les données de l'Usf d'une ligne sélectionnée par un combo-box.

C'est pour renvoyer les données modifiées dans la même ligne si je modifie les TextBox de l'Usf.

j'ai créé un bouton pour renvoyer les données, y a pas de code (Command Button1).

2-Je comprend pas pas aussi la ligne 16 n'apparait pas dans mon combobox.

fichier :

Merci

Salut Jean35

Voici ton fichier avec un petit code qui va bien

Attention comme ta ComboBox est liée dynamiquement à ta plage de cellules "RowSource"

Dès que tu as une modification de données, l'évènement Combox_AfterUpdate qui te réinitialise ton USF

Il faut donc mettre un Flag pour sortir de la procédure

A+

Merci super Bruno ca correspond à ce que je souhaite.

J'ai fais ça aujourd'hui :

A

pres c'est plus long

A voir ci c'est pareil.

Cordialement

Bonjour,

Je ne suis pas expert mais je me débrouille et en même de temps je deviens moins bête grâce à vous et un grand merci.

Donc ma question : dans mon petit fichier,

j'ai essayer d'exporter en pdf vers un dossier dans lequel se trouve mon *.xlsm et de creer un sous dossier pour y mettre mon pdf :

nom de fichier = Fiche N° et "combobox1"

quand le dossier est déja créer ca marche, mais quand il n'existe pas et que je demande la creation: la valeur du combobox ne s'affiche pas .

Cette fonction si possible dans un module que j'appelerai par bouton dans mon USF, j'ai tenté un embryon de code dans le module 3.

Cordialement

Salut Jean35

Normal, si tu as testé ton "export_pdf" de ton module 3, tu n'es pas dans l'userform, donc tu n'as pas la valeur de la combo

Sinon ton code est bien

A+

Rechercher des sujets similaires à "copier valeur ligne combobox"