[VBA | Rechercher et copier contenu des TextBox dans une cellule]

Zaffe

XLDnaute Nouveau
Bonjour à tous,

J'avance petit à petit, grâce à votre aide ou grâce à mes recherches... La je bloque sur un problème de débutant : j'ai encore du mal à coder donc j'essaye de faire des mélanges :D.

Mon problème est que j'ai 10 Textbox dans un Userform qui contiennent ou non quelques choses avec un bouton "Valider".
Lorsque je clique sur "Valider" j'aimerais que Excel :
- Recherche "Textbox10.Text" dans la colonne A de la "BDD"
- Si c'est identique copier "Textbox11.Text" dans la colonne B; "Textbox3.Text" dans la colonne C .......

Private Sub valider_Click()

Dim VariableTest As String
Dim VariableTampon As String
Dim continue As Boolean
Dim ligne As Integer
Dim Texte As String

ligne = 5
continue = True
VariableTest = TextBox10.Text

Do While continue
VariableTampon = ThisWorkbook.Sheets("BDD").Cells(ligne, 1).Value

If VariableTampon = VariableTest Then
Worksheets("BDD").Range("ligne, 2") = TextBox11.Text

continue = False
ligne = 4
Else
ligne = ligne + 1
End If
Loop
End Sub

Je pense que certains vont :eek: mais je débute :eek:
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjnour Zaffe, bonjour le forum,

je te propose une macro qui utilise la recherche de texte (FIND) :
Code:
Private Sub Valider_Click()
Dim r As Range 'déclare la variable r (Recherche)
Dim tr As String 'déclare la variable tr (Texte Recherché)
Dim li As Integer 'déclare la variable li (LIgne)
 
tr = TextBox10.Text 'définit la variable tr
 
With Sheets("BDD") 'prend en compte l'onglet "BDD"
    'définit la variable r (recherche les occurrences de tr dans la colonne A de l'onglet "BDD")
    Set r = .Columns(1).Find(tr, , xlValues, xlWhole)
    If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
        li = r.Row 'définit la variable li
        .Cells(li, 2).Value = TextBox11.Value 'place le contenue de la TextBox11
        .Cells(li, 3).Value = TextBox3.Value 'place le contenue de la TextBox3
        'etc....
    End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet "BDD"
End Sub
 

Zaffe

XLDnaute Nouveau
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjnour Zaffe, bonjour le forum,

je te propose une macro qui utilise la recherche de texte (FIND) :
Code:
Private Sub Valider_Click()
Dim r As Range 'déclare la variable r (Recherche)
Dim tr As String 'déclare la variable tr (Texte Recherché)
Dim li As Integer 'déclare la variable li (LIgne)
 
tr = TextBox10.Text 'définit la variable tr
 
With Sheets("BDD") 'prend en compte l'onglet "BDD"
    'définit la variable r (recherche les occurrences de tr dans la colonne A de l'onglet "BDD")
    Set r = .Columns(1).Find(tr, , xlValues, xlWhole)
    If Not r Is Nothing Then 'condition : si il existe au moins une occurrence
        li = r.Row 'définit la variable li
        .Cells(li, 2).Value = TextBox11.Value 'place le contenue de la TextBox11
        .Cells(li, 3).Value = TextBox3.Value 'place le contenue de la TextBox3
        'etc....
    End If 'fin de la condition
End With 'fin de la prise en compte de l'onglet "BDD"
End Sub

Un demi journée de recherche et de tentative contre 30 minutes :eek::eek:
Ca fonctionne ! Merci énormemement pour ton aide et surtout pour le détail de ton code qui me permet de le comprendre.
 

Zaffe

XLDnaute Nouveau
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Une question toute bête et je ne veux pas récreer un topic pour cela (tellement ca doit être simple) mais je force l'écriture en majuscules avec ce code :

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Il fonctionne mais imaginons que je souhaite le faire pour les 10 TextBox, la solution de facilité c'est de le copier-coller. Il y a une façon de le faire en un seul code ?
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjour Zaffe, bonjour le forum,

Je pense qu'il faut passer par une module de classe que je ne maîtrise absolument pas pour faire ce que tu demandes. Regarde ce lien. Donc pour moi, la facilité reste le copier/coller.
Ce code remplace, à la frappe, une lettre par sa majuscule, sijenemabuse, tu pourrais plus simplement le faire au bouton valider. Ça aurait moins de "gueule" visuellement mais le résultat serait le même :
Code:
.Cells(li, 2).Value = Ucase(TextBox11.Value) 'place le contenue de la TextBox11
.Cells(li, 3).Value = Ucase(TextBox3.Value) 'place le contenue de la TextBox3
 

Zaffe

XLDnaute Nouveau
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjour Zaffe, bonjour le forum,

Je pense qu'il faut passer par une module de classe que je ne maîtrise absolument pas pour faire ce que tu demandes. Regarde ce lien. Donc pour moi, la facilité reste le copier/coller.
Ce code remplace, à la frappe, une lettre par sa majuscule, sijenemabuse, tu pourrais plus simplement le faire au bouton valider. Ça aurait moins de "gueule" visuellement mais le résultat serait le même :
Code:
.Cells(li, 2).Value = Ucase(TextBox11.Value) 'place le contenue de la TextBox11
.Cells(li, 3).Value = Ucase(TextBox3.Value) 'place le contenue de la TextBox3

Je suis débutant est je me complique la vie :D. Encore merci !
 

Fabien48

XLDnaute Nouveau
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjour tout le monde! Comme Zaffe, j'aurai besoin d'aide svp !
J'ai un fichier excel qui contient plusieurs onglets qui correspondent chacun à une entité de travail.
Dans un onglet, j'ai un un tableau où est regroupée l'ensemble des entités de travail avec un descriptif et l'onglet oùu l'on peut trouver l'entité.
J'ai créé un userform avec un combobox qui permet de sélectionner une entité et aussi de faire ressortir : le descriptif et l'onglet dans le userform.
De là j'aimerai créer un bouton (OK par exemple) qui me permettrait d'aller sur l'onglet correspondant à l'entité choisie depuis mon combobox.
Par exemple, dans mon combobox je choisi : "entité 1",
j'obtiens automatiquement : Descrptif : "atelier de maintenance"
et Onglet : "E1"
Je recherche le code permettant en fonction de sélectionner l'onglet obtenu dans le combobox (dans l'exemple : E1).

Auriez vous des pistes? Est ce réalisable?
D'avance merci
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : [VBA | Rechercher et copier contenu des TextBox dans une cellule]

Bonjour le fil, bonjour le forum,

Fabien, je pense que ton problème mériterait un nouveau fil et surtout une pièce jointe. J'imagine que ton fichier est trop volumineux alors pars d'un classeur vierge avec juste deux ou trois onglets renommés identique à ton original. Une poignée de données non confidentielles et l'UserForm.
Tu obtiendras de l'aide rapidement...
 

Discussions similaires

Réponses
2
Affichages
246

Statistiques des forums

Discussions
312 249
Messages
2 086 602
Membres
103 258
dernier inscrit
kalis03