C
callou
Guest
Bonjour,
Je débute en vba et je rencontre un problème dans une macro pour récupérer une valeur sur la recherche afin de repartir de celle-ci et de continuer la recherche.
Comme le fait le Ctrl F de Excel. (Ex:Citron -->avec Suivant on passe à toutes les valeurs pouvant contenir Citron)
Voilà ma Macro (Attention Indulgence c'est pas du Pro...)
Merci d'avance.
Le code est placer dans Sub Button_Rechercher de mon UserForm
' Recherche de la donnée puis selection de la ligne si donnée trouvée
Dim x As Long
ActiveSheet.Activate
' On recherche dans la Ligne 1 colonne A, si la case contient la même valeur que notre champ de recherche
For x = 4 To Range("A65535").End(xlUp).Row
If UCase(Range("A" & x)) Like "*" & UCase(UserForm2.Désignation.Value) & "*" Then
' Si on a trouvé on va à "Trouve"
GoTo Trouve
Exit For
End If
' Si rien dans le champ de saisie
If UserForm2.Désignation.Text = "" Then
MsgBox "Vous devez saisir une Recherche", vbCritical
End If
' Sinon on passe à la ligne suivante
Next x
' Si on ne trouve rien, on va à "Erreur"
GoTo Erreur
Exit Sub
' Recherche trouvée, on retrouve notre programme pour charger le formulaire
Trouve: LigneActive = x
UserForm2.Désignation.Value = ActiveSheet.Cells(LigneActive, "A").Value
UserForm2.Entrée.Value = ActiveSheet.Cells(LigneActive, "D").Value
UserForm2.Puht.Value = ActiveSheet.Cells(LigneActive, "E").Value
UserForm2.Pvte.Value = ActiveSheet.Cells(LigneActive, "G").Value
UserForm2.Dlc.Value = ActiveSheet.Cells(LigneActive, "J").Value
UserForm2.TextBox_Stock.Value = ActiveSheet.Cells(LigneActive, "F").Value
UserForm2.TextBox_Etat.Value = ActiveSheet.Cells(LigneActive, "I").Value
UserForm2.TextBox_Sortie.Value = ActiveSheet.Cells(LigneActive, "H").Value
Exit Sub
' Message d'erreur
Erreur: MsgBox ("Requête non trouvée !"), vbRetryCancel + vbExclamation
'Décharge nouvelle recherche'
If Response = Retry Then
Désignation.Text = ""
Entrée.Text = ""
Puht.Text = ""
Pvte.Text = ""
Dlc.Text = ""
TextBox_Stock = ""
TextBox_Etat = ""
TextBox_Sortie = ""
Désignation.SetFocus
End If
End Sub
Je débute en vba et je rencontre un problème dans une macro pour récupérer une valeur sur la recherche afin de repartir de celle-ci et de continuer la recherche.
Comme le fait le Ctrl F de Excel. (Ex:Citron -->avec Suivant on passe à toutes les valeurs pouvant contenir Citron)
Voilà ma Macro (Attention Indulgence c'est pas du Pro...)
Merci d'avance.
Le code est placer dans Sub Button_Rechercher de mon UserForm
' Recherche de la donnée puis selection de la ligne si donnée trouvée
Dim x As Long
ActiveSheet.Activate
' On recherche dans la Ligne 1 colonne A, si la case contient la même valeur que notre champ de recherche
For x = 4 To Range("A65535").End(xlUp).Row
If UCase(Range("A" & x)) Like "*" & UCase(UserForm2.Désignation.Value) & "*" Then
' Si on a trouvé on va à "Trouve"
GoTo Trouve
Exit For
End If
' Si rien dans le champ de saisie
If UserForm2.Désignation.Text = "" Then
MsgBox "Vous devez saisir une Recherche", vbCritical
End If
' Sinon on passe à la ligne suivante
Next x
' Si on ne trouve rien, on va à "Erreur"
GoTo Erreur
Exit Sub
' Recherche trouvée, on retrouve notre programme pour charger le formulaire
Trouve: LigneActive = x
UserForm2.Désignation.Value = ActiveSheet.Cells(LigneActive, "A").Value
UserForm2.Entrée.Value = ActiveSheet.Cells(LigneActive, "D").Value
UserForm2.Puht.Value = ActiveSheet.Cells(LigneActive, "E").Value
UserForm2.Pvte.Value = ActiveSheet.Cells(LigneActive, "G").Value
UserForm2.Dlc.Value = ActiveSheet.Cells(LigneActive, "J").Value
UserForm2.TextBox_Stock.Value = ActiveSheet.Cells(LigneActive, "F").Value
UserForm2.TextBox_Etat.Value = ActiveSheet.Cells(LigneActive, "I").Value
UserForm2.TextBox_Sortie.Value = ActiveSheet.Cells(LigneActive, "H").Value
Exit Sub
' Message d'erreur
Erreur: MsgBox ("Requête non trouvée !"), vbRetryCancel + vbExclamation
'Décharge nouvelle recherche'
If Response = Retry Then
Désignation.Text = ""
Entrée.Text = ""
Puht.Text = ""
Pvte.Text = ""
Dlc.Text = ""
TextBox_Stock = ""
TextBox_Etat = ""
TextBox_Sortie = ""
Désignation.SetFocus
End If
End Sub