Range

sinane123 -  
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
comment peut on réaliser un boucle pour effectuer une suite d'affectations des valeur situées dans une feuille "Bases des données", sachant que la ligne des données est variable, vers une suite de textbox1 to textbox55

Code
Private Sub Button100_Click()
Dim Num As Long
Dim celluletrouvee As Range
Dim ligne As Integer
Dim col As Integer
Dim I As Integer
Dim TxtB As String
'
'
'''Affecter la valeur de textbox1 dans le variable num'''
Num = CSng(UserForm4.TextBox1)

Set celluletrouvee = Range("A2:A200").Find(Num, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
Som = col + 1
MsgBox ("Trouvé")
For I = 2 To 55
Dim R As Range
TxtB = "TextBox" & I
UserForm4.Controls(TxtB).Value = ''' Ici je veux insérer la ligne trouvé Ex B2, B3, .....B55 '''

Next I
End If
End Sub

2 réponses

Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour sinane

Je pense que le bout de code qui te manque est

cells(ligne, colonne)
Range("B55") équivalent à cells(55,2)

ou Sheets("Bases des données").Cells(55, 2)
0
sinane123
 
bonjour,
enfin j'ai trouvé la solution
code :
Private Sub Button100_Click()
Dim Num As Long

Dim celluletrouvee As Range
Dim test As Range
Dim ligne As Integer
Dim col As Integer
Dim I As Integer
Dim TxtB As String
'
'
'''Affecter la valeur de textbox1 dans le variable num'''
Num = CSng(UserForm4.TextBox1)

Set celluletrouvee = Range("A:A").Find(Num, lookat:=xlWhole)
If celluletrouvee Is Nothing Then
MsgBox ("pas trouvé")
Else
ligne = celluletrouvee.Row
col = celluletrouvee.Column
MsgBox ("Trouvé")
For I = 2 To 55
TxtB = "TextBox" & I
UserForm4.Controls(TxtB).Value = celluletrouvee([col], [I])
Next I
End If

End Sub
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Salut
c'est super!
Ptit remarque: ta variable ligne est-elle encore utile?
dans celluletrouvee([col], [I]) je pense que tu peux te passer des"["

Quand tu déclare une variable, je te conseil de mettre une majuscule.
(Pas sur la première lettre, comme les fonctions vba)
Excel remet automatiquement la majuscule quand tu écrit le code, cela te permet d'éviter les fautes de frappe
cordialement
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour sinane123

Je ne comprend pas bien comment fonctionne ton code : celluletrouvee([col], [I]) .
Ce que j'ai vu c'est qu'il ne marche pas si tu fais une recherche en une colonne autre que la "A".

Je te propose : celluletrouvee.Offset(0, I) ou tu cherche la valeur à + 0 ligne et , à + I colonne
0