Range

Fermé
sinane123 - 13 août 2014 à 18:22
Iama Messages postés 319 Date d'inscription mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 - 16 août 2014 à 08:26
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 mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
13 août 2014 à 18:54
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
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 mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
15 août 2014 à 11:01
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 mercredi 13 janvier 2010 Statut Membre Dernière intervention 27 mars 2020 14
16 août 2014 à 08:26
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