VBA - Valeur dans une cellule en fonction d'une TextBox [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
mercredi 3 mai 2017
Statut
Membre
Dernière intervention
7 mai 2017
-
Messages postés
6
Date d'inscription
mercredi 3 mai 2017
Statut
Membre
Dernière intervention
7 mai 2017
-
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

Messages postés
1400
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
16 avril 2020
139
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


Messages postés
6
Date d'inscription
mercredi 3 mai 2017
Statut
Membre
Dernière intervention
7 mai 2017

Merci infiniment ThauTheme
Tout fonctionne à merveille
Messages postés
8163
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
9 août 2020
1 445
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


Messages postés
6
Date d'inscription
mercredi 3 mai 2017
Statut
Membre
Dernière intervention
7 mai 2017

Merci infiniment Patrice
Tout fonctionne à merveille