Renvoyer la valeur à gauche

Bonjour le Forum,

Petit trou de mémoire, comment renvoyer la valeur à gauche ?!

J'ai 1 combobox et 1 textbox.

La combobox récupère ses valeurs dans les cellules d'une feuille et je voudrais que la textbox renvoie la valeur à gauche de la cellule ou se trouve la valeur affichée de la combobox.

Sur la photo :

En sélectionnant dans la combobox "Modèle" qui est la valeur dans la cellule [ZZ2], la textbox tout à droite afficherait la valeur de la cellule [ZY2]

Merci d'avance ;)

capture d ecran 7

Bonjour,

Si vous récupérez la valeur depuis le choix de la combobox1, mettez le code comme ceci

TextBox1 = Range("ZY" & ComboBox1.ListIndex + 2).value

cordialement

Bonjour Dan,

Oui !!! Offset, impossible de me souvenir de ce mot !

Du coup le temps de voir votre deuxième réponse, j'ai adapté la première solution de la manière suivante :

Private Sub ComboBox_Liste_Change()

Dim v As String
Dim i As Integer
Dim WS As Worksheet

  Set WS = ThisWorkbook.Sheets("donnees2")

 v = Me.ComboBox_Liste.Value

     For i = WS.Range("ZZ" & Rows.Count).End(xlUp).Row To 1 Step -1

             If WS.Cells(i, 702) = v Then
             Me.TextBox_chemin.Value = Sheets("donnees2").Cells(i, 702).Offset(0, -1)

        End If
    Next i
End Sub

Par curiosité, j'ai tout de même essayé votre deuxième solution, mais rien ne ce passe, aucun affichage dans la textbox ni message d'erreur 🫢

Par curiosité, j'ai tout de même essayé votre deuxième solution, mais rien ne ce passe, aucun affichage dans la textbox ni message d'erreur 🫢

Il faut voir comment vous chargez la combo dans la sub initialize. Là je n'ai pas l'info. J'ai supposé que vous faisiez comme ceci

Private Sub UserForm_Initialize()
ComboBox1.List = Range("ZZ2:ZZ" & Range("ZZ" & Rows.Count).End(xlUp).Row).Value
End Sub

La boucle que vous avez est inutile dans ce cas. Vous perdez du temps dans l'accès à l'info

Re,

D'accord !

je la charge comme ceci :

  Set WS = Sheets("donnees2")
  With Me.ComboBox_Liste
    For i = 2 To WS.Range("ZZ" & Rows.Count).End(xlUp).Row
      .AddItem WS.Range("ZZ" & i)
    Next i
  End With

Le bouton qui ouvre l'userform ne se trouve pas dans la même feuille que la base de donnée de la combo.

Dans une feuille neutre, j'ai essayé la deuxième solution en changeant le chargement de la combo et ça fonctionne bien;)

je la charge comme ceci :

Ok c'est bon aussi.

La solution Initialize que je vous ai donnée dans mon post précédent fonctionne aussi mais vous devez avoir au minimum deux données. Sans quoi le code plantera.
La solution de boucle que vous avez est bonne

Du coup pour la textbox1 si vous prenez la solution que je vous ai donnée dans mon premier post, ce sera plus rapide et plus simple que de passer par une boucle

Crdlt

effectivement, c'est plus simple à mettre en place.

La solution Initialize que je vous ai donnée dans mon post précédent fonctionne aussi mais vous devez avoir au minimum deux données. Sans quoi le code plantera.

Intéressant à savoir, dans le cas présent il se peut qu'il n'y ai qu'une seul valeur ...

En tout cas merci pour le coup de main !

Rechercher des sujets similaires à "renvoyer valeur gauche"