J'ai un formulaire avec des TextBox et un ScrollBar qui fonctionnent.
J'aimerais effectuer des recherches dans un Tableau nommé grâce au bouton ci-dessous.
Private Sub CommandButton2_Click()
For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows
If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then
MsgBox c.Rows(1).Value 'fonctionne (si je tape L dans la TextBox1, je trouve 4 Items)
Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante)
En gros J'aimerais que chaque fois que j'appuie sur le CommandButton2,je passe à l'item suivante.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
timmyx
Le lundi 02 Mars 2015 à 16:56 par Timmyx :
Bonjour,
J'ai un formulaire avec des TextBox et un ScrollBar qui fonctionnent. J'aimerais effectuer des recherches dans un Tableau nommé grâce au bouton ci-dessous.
Private Sub CommandButton2_Click()
For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then
MsgBox c.Rows(1).Value 'fonctionne (si je tape L dans la TextBox1, je trouve 4 Items)
Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante)
En gros J'aimerais que chaque fois que j'appuie sur le CommandButton2,je passe à l'item suivante.
Merci
Bonjour, Hum, mon message n'était pas très clair.
Soit un Tableau nommé (Dans Excel 2013 Insertion/Tableau) qui possèdent 3 colonnes (Nom, Prénom, Ville) et 20 lignes.
J'ai un formulaire avec 3 TextBox (TextBox1,TextBox2,TextBox3) 1 ScrollBar 3 boutons de commandes (Critères, Précédent, suivant)
J'aimerais rechercher tous les noms qui commence par "L"
Je Clic sur le bouton "Critère" qui permet de vider tous les TextBox
Private Sub CommandButton1_Click() Dim Ctrl As Control For Each Ctrl In UserForm1.Controls If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Text = "" End If Next UserForm1.TextBox1.SetFocus End Sub
Je tape L dans le TextBox1 Je clic sur le bouton "suivant" qui permet de rechercher tous les noms qui commence par L Dans la colonne1 ,il a 4 noms qui commence par L N°3 le Moine N°5 Le Golf N°14 Lacroix N°18 Laporte
Private Sub CommandButton2_Click() For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante) End If Next c End Sub
En testant avec le MsgBox j'ai bien les 4 noms MsgBox c.Row - 1 & " : " & c.Value 'Numéro et Valeur de la ligne colonne 1
Mais la ligne Me.ScrollBar1 = c.Row - 1 bloque sur le 1er nom N°3 Le Moine J'aimerais que chaque fois que j'appuie sur le CommandButton2, je passe à l'item suivant. C à dire N°5 Le Golf N°14 Lacroix N°18 Laporte Mais je ne sais pas faire, si quelqu'un sais ?
Merci
Le lundi 02 Mars 2015 à 16:56 par Timmyx :
Bonjour,
J'ai un formulaire avec des TextBox et un ScrollBar qui fonctionnent.
J'aimerais effectuer des recherches dans un Tableau nommé grâce au
bouton ci-dessous.
Private Sub CommandButton2_Click()
For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows
If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then
MsgBox c.Rows(1).Value 'fonctionne (si je tape L dans la TextBox1, je trouve 4
Items)
Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante)
En gros J'aimerais que chaque fois que j'appuie sur le CommandButton2,je passe
à l'item suivante.
Merci
Bonjour,
Hum, mon message n'était pas très clair.
Soit un Tableau nommé (Dans Excel 2013 Insertion/Tableau) qui possèdent 3 colonnes (Nom, Prénom, Ville) et 20 lignes.
J'ai un formulaire avec 3 TextBox (TextBox1,TextBox2,TextBox3)
1 ScrollBar
3 boutons de commandes (Critères, Précédent, suivant)
J'aimerais rechercher tous les noms qui commence par "L"
Je Clic sur le bouton "Critère" qui permet de vider tous les TextBox
Private Sub CommandButton1_Click()
Dim Ctrl As Control
For Each Ctrl In UserForm1.Controls
If TypeOf Ctrl Is MSForms.TextBox Then
Ctrl.Text = ""
End If
Next
UserForm1.TextBox1.SetFocus
End Sub
Je tape L dans le TextBox1
Je clic sur le bouton "suivant" qui permet de rechercher tous les noms qui commence par L
Dans la colonne1 ,il a 4 noms qui commence par L
N°3 le Moine
N°5 Le Golf
N°14 Lacroix
N°18 Laporte
Private Sub CommandButton2_Click()
For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows
If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then
Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante)
End If
Next c
End Sub
En testant avec le MsgBox j'ai bien les 4 noms
MsgBox c.Row - 1 & " : " & c.Value 'Numéro et Valeur de la ligne colonne 1
Mais la ligne
Me.ScrollBar1 = c.Row - 1
bloque sur le 1er nom N°3 Le Moine
J'aimerais que chaque fois que j'appuie sur le CommandButton2, je passe à l'item suivant.
C à dire
N°5 Le Golf
N°14 Lacroix
N°18 Laporte
Mais je ne sais pas faire, si quelqu'un sais ?
J'ai un formulaire avec des TextBox et un ScrollBar qui fonctionnent. J'aimerais effectuer des recherches dans un Tableau nommé grâce au bouton ci-dessous.
Private Sub CommandButton2_Click()
For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then
MsgBox c.Rows(1).Value 'fonctionne (si je tape L dans la TextBox1, je trouve 4 Items)
Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante)
En gros J'aimerais que chaque fois que j'appuie sur le CommandButton2,je passe à l'item suivante.
Merci
Bonjour, Hum, mon message n'était pas très clair.
Soit un Tableau nommé (Dans Excel 2013 Insertion/Tableau) qui possèdent 3 colonnes (Nom, Prénom, Ville) et 20 lignes.
J'ai un formulaire avec 3 TextBox (TextBox1,TextBox2,TextBox3) 1 ScrollBar 3 boutons de commandes (Critères, Précédent, suivant)
J'aimerais rechercher tous les noms qui commence par "L"
Je Clic sur le bouton "Critère" qui permet de vider tous les TextBox
Private Sub CommandButton1_Click() Dim Ctrl As Control For Each Ctrl In UserForm1.Controls If TypeOf Ctrl Is MSForms.TextBox Then Ctrl.Text = "" End If Next UserForm1.TextBox1.SetFocus End Sub
Je tape L dans le TextBox1 Je clic sur le bouton "suivant" qui permet de rechercher tous les noms qui commence par L Dans la colonne1 ,il a 4 noms qui commence par L N°3 le Moine N°5 Le Golf N°14 Lacroix N°18 Laporte
Private Sub CommandButton2_Click() For Each c In Ws.ListObjects(1).DataBodyRange.Columns(1).Rows If UCase(Left(c.Value, Len(Me.TextBox1))) = UCase(Me.TextBox1.Value) Then Me.ScrollBar1 = c.Row - 1 (Ne passe pas à l'Item suivante) End If Next c End Sub
En testant avec le MsgBox j'ai bien les 4 noms MsgBox c.Row - 1 & " : " & c.Value 'Numéro et Valeur de la ligne colonne 1
Mais la ligne Me.ScrollBar1 = c.Row - 1 bloque sur le 1er nom N°3 Le Moine J'aimerais que chaque fois que j'appuie sur le CommandButton2, je passe à l'item suivant. C à dire N°5 Le Golf N°14 Lacroix N°18 Laporte Mais je ne sais pas faire, si quelqu'un sais ?