VBA - Valeur dans une cellule en fonction d'une TextBox

Résolu
dhr.france Messages postés 6 Statut Membre -  
dhr.france Messages postés 6 Statut Membre -
Bonjour à tous

Désolé tout d'abord si ce sujet a été traité par ailleurs mais après des heures de recherche je ne trouve pas de solution.

Merci à Celle, celui ou ceux qui voudront prendre un peu de leur temps pour m'aider.

Mon problème :

j'insère une valeur dans une TextBox
Cette valeur doit être copiée dans une cellule
Cette cellule est en colonne E
La ligne de cette cellule doit être la même que celle de la cellule B

(dont la valeur correspond à celle de la TextBox)
La colonne B est une colonne de référence

J'espère être assez clair

Je joins un fichier d'explication si besoin.

Merci d'avance encore pour votre aide

Bonne journée,

Dominique

2 réponses

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    Bonjour Dhr, bonjour le forum,

    Peut-être comme ça :

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'à la sortie de la TextBox1
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim R As Range 'déclare la variable R (Recherche)
    Dim LI As Long 'déclare la variable LI (LIgne)
    
    Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    Set R = O.Columns(2).Find(Me.TextBox1.Value, , xlValues, xlWhole) 'définit la recherche R (recherche la valeur entière de la TextBox1 dans la colonne 2 (=B) de l'onglet O
    If Not R Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
        LI = R.Row 'définit la ligne LI de la première occurrence trouvée
        Me.TextBox2.Value = O.Cells(LI, 5).Value 'renvoie dans la TextBox2 la valeur de la cellule ligne LI colonne 5 (=E) de l'onglet O
    End If 'fin de la condition
    End Sub
    


    0
    1. dhr.france Messages postés 6 Statut Membre
       
      Merci infiniment ThauTheme
      Tout fonctionne à merveille
      0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Bonjour,

    Une variante du code de ThauTheme (Bonjour à toi) :
    Private Sub TextBox1_Change()
    Dim O As Worksheet 'déclare la variable O (Onglet)
    Dim R As Range 'déclare la variable R (Recherche)
    
    Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
    Set R = O.Columns(2).Find(Me.TextBox1.Value, , xlValues, xlWhole) 'définit la recherche R (recherche la valeur entière de la TextBox1 dans la colonne 2 (=B) de l'onglet O
    If Not R Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
        Me.TextBox2.ControlSource = "'" & O.Name & "'!" & R.Offset(0, 3).Address 'Lie le TextBox2 à la cellule de la colonne E
    Else
        Me.TextBox2.ControlSource = "" 'Pas de cellule liée au TextBox2
    End If 'fin de la condition
    End Sub


    0
    1. dhr.france Messages postés 6 Statut Membre
       
      Merci infiniment Patrice
      Tout fonctionne à merveille
      0