Sélectionner une cellule en fonction d'une combobox et d'une textbox

rugbyman

XLDnaute Nouveau
Bonjour à tous !

Je me permet de vous solliciter, car je cherche désespérément la solution à mon problème, et après plusieurs jours de tests, je ne sais comment faire.

Je vous expose mon soucis :

J'ai crée un userform avec une combobox alimentée par une plage de cellules d'une feuille excel (colonne B, de 2 à 500 par exemple)

Puis en dessous, j'ai deux textbox. (une qui va renseigner la colonne L et l'autre la M)

Je souhaiterais qu'en fonction du choix fait dans la combobox, la ligne sélectionnée dans la cbb soit activée et qu'il copie la saisie faite dans la txtb1 dans la colonne L, ou la saisie faite dans la txtbx 2 dans la colonne M de cette ligne uniquement.

Je bloque déjà sur la commande pour sélectionner la ligne qui contient la sélection de ma combobox.

Je ne sais par ou commencer, car je n'ai pas beaucoup de connaissances en vba, et depuis que je n'ai pas pratiqué, le peu qu'il me reste ne me permet plus de faire grand chose.

J'ai pour le moment déclaré la rowsource de la combobox dans les paramètres de celle-ci, m'évitant de le faire via du code.

De ce côté là ça fonctionne bien.

C'est ensuite que ça se gâte.

Si quelqu'un peut venir à mon secours, ca serait très sympa.

Merci d'avance pour avoir pris le temps de me lire.

Rugbyman47
 
G

Guest

Guest
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Bonjour,

Pour la combobox alimentée par RowSource tu peux t'inspirer de ceci:
Code:
Private Sub ComboBox1_Change()
    With ComboBox1
        If .ListIndex > -1 Then sheets("Feuil1").Range(.RowSource)(.ListIndex + 1, 1).Select
    End With
End Sub

Pour le reste, fait des tests et si cela ne va pas reviens avec un fichier exemple anonymisé contenant tes macro et données fictives.

A+
 

rugbyman

XLDnaute Nouveau
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Re-bonjour,

Apparemment ça ne fonctionne pas, j'ai pourtant modifié le nom feuill1 par le nom de ma feuille.

Voici ci-joint un fichier anonymisé.

le problème se pose sur le 2e userform, qui s'appelle RECHERCHES, accessible depuis le bouton saisie date du userform 'FORMULAIRE'

En te remerciant par avance.

Rugbyman47.
 

Pièces jointes

  • suivi des dossiers.xlsm
    71.3 KB · Affichages: 89

rugbyman

XLDnaute Nouveau
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Bonjour Gilbert,

En utilisant ta proposition, dans mon fichier, il m'inscrit bien la saisie de ma tb en l ou en m, mais pas sur la bonne ligne.

Voici le code que tu m'as passé et que j'ai modifié :
code:
Sheets("SUIVI").Activate

derl_l = Sheets(1).Range("l65536").End(xlUp).Row + 1
Cells(derl_l, 12).Value = Me.TBDATERECUP

derl_m = Sheets(1).Range("m65536").End(xlUp).Row + 1
Cells(derl_m, 13).Value = Me.TBDATERDV

Me.TBDATERECUP.Value = ""
Me.TBDATERDV.Value = ""
Me.CBRECUPNOM.Value = ""
 

gilbert_RGI

XLDnaute Barbatruc
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Bonjour Gilbert,

En utilisant ta proposition, dans mon fichier, il m'inscrit bien la saisie de ma tb en l ou en m, mais pas sur la bonne ligne.

Voici le code que tu m'as passé et que j'ai modifié :
code:
Sheets("SUIVI").Activate

derl_l = Sheets(1).Range("l65536").End(xlUp).Row + 1
Cells(derl_l, 12).Value = Me.TBDATERECUP

derl_m = Sheets(1).Range("m65536").End(xlUp).Row + 1
Cells(derl_m, 13).Value = Me.TBDATERDV

Me.TBDATERECUP.Value = ""
Me.TBDATERDV.Value = ""
Me.CBRECUPNOM.Value = ""

sur quelle ligne s'incrit-il
 

rugbyman

XLDnaute Nouveau
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Autant pour moi !

Par contre, concernant le petit fichier que tu m'as envoyé, ca fonctionne bien, sauf que la saisie ne se fait pas sur la ligne du choix de la combobox.
(Ex : le choix de la combobox est la ligne 3, mais il inscrit le texte saisi dans ma textbox dans la colonne L ou M, mais sur la ligne 20 )
Je voudrais qu'il l'écrive sur la même ligne que celle choisie dans ma combobox.

Encore merci pour ton aide.

Rugbyman 47
 

rugbyman

XLDnaute Nouveau
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Bonjour Gilbert,

Merci pour ce fichier.

Lorsque je le teste tel quel, j'ai une erreur 13, incompatibilité de type

avec le code : Cells(derl_m, 13).Value = Me.TextBox2
surligné en jaune

Encore merci.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Quand les deux textbox sont remplies il n'ya pas cette erreur
pour palier à ça mettre un on error comme dans le code ci joint

Private Sub CommandButton1_Click()
On Error Resume Next
derl_l = Me.TextBox3.Value 'Sheets(1).Range("l65536").End(xlUp).Row + 1
Cells(derl_l, 12).Value = Me.TextBox1

derl_m = Me.TextBox4.Value 'Sheets(1).Range("m65536").End(xlUp).Row + 1
Cells(derl_m, 13).Value = Me.TextBox2

Me.TextBox1.Value = ""
Me.TextBox2.Value = ""
Me.TextBox3.Value = ""
Me.TextBox4.Value = ""
Me.ComboBox1.Value = ""
End Sub
 

rugbyman

XLDnaute Nouveau
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

Re bonjour Gilbert.

Effectivement, avec la modif ca fonctionne dans ton exemple, mais pour la première textbox uniquement.

voici le code que tu m'as envoyé pour ma page, modifié en conséquence :

code :

Private Sub CBVALIDER_Click()

Sheets("SUIVI").Activate

On Error Resume Next
derl_l = Me.TextBox3.Value 'Sheets(1).Range("l65536").End(xlUp).Row + 1
Cells(derl_l, 12).Value = Me.TBDATERECUP

derl_m = Me.TextBox4.Value 'Sheets(1).Range("m65536").End(xlUp).Row + 1
Cells(derl_m, 13).Value = Me.TBDATERDV

Me.TBDATERECUP.Value = ""
Me.TBDATERDV.Value = ""
Me.TextBox3.Value = ""
Me.TextBox4.Value = ""
Me.CBRECUPNOM.Value = ""
End Sub


J'ai crée une txtbox 3 et 4 invisibles comme dans ton exemple, et j'ai également modifié ma combobox comme suit :

code :

Private Sub CBRECUPNOM_Change()

If Me.TBDATERECUP.Value = "" Then
'Me.TBDATERECUP.Value = Me.CBRECUPNOM.Value
Me.TextBox3.Value = Me.CBRECUPNOM.ListIndex + 2
Else
'Me.TBDATERDV.Value = Me.CBRECUPNOM.Value
Me.TextBox4.Value = Me.CBRECUPNOM.ListIndex + 2
End If
'Me.ComboBox1.Value = ""


End Sub

Malgré tout, ca fonctionne si je saisit quelques chose dans ma textbox1 (TBDATERECUP),
mais pas dans la txtbox2 (TBDATERDV) ou là il ne se passe rien.

Je pense que je ne suis pas loin, mais ne connaissant pas les fonction 'derl' que tu as utilisé, je ne sais pas comment corriger le problème.

Bonne journée,

Amicalement,

Rugbyman.
 

gilbert_RGI

XLDnaute Barbatruc
Re : Sélectionner une cellule en fonction d'une combobox et d'une textbox

derl n'est pas une fonction mais une variable qui est là pour indiquer la dernière ligne (+ 1 dans le cas )

je pense que ton erreur vient de la manipulation

tu dois changer une 1 ère fois la combo puis une seconde fois les infos doivent être indiquées dans les textbox si tu laisses visibles

je te fais une petite vidéo si tu n'y arrives pas :cool:
 
Dernière édition:

Discussions similaires

Réponses
28
Affichages
921