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+