Utilisation d'un Bouton "False " dans UserForm
Bonjour Fourm,
J'ai un Pb avec ce le 2ème Code je ne parviens pas à boucler sur l'Occurence ??
Contexte le 1er Code vérifie si une saisie et faite en TextBox et appel la Fonction de macro, du Bouton Suivant ;
le 2ème Code quant à la lui Masque "Rechercher" et découvre "Suivan"t qui devrait permettre de poursuivre avec sur les Occurences .
Merci d'avance.
1er Code
Privat Sub Button_Rechercher_Click()
If UserForm2.TextBox_Nom_Frn = "" Then
MsgBox "Vous devez saisir une Recherche", vbCritical
Else
Button_Suivant_Click
End If
End Sub
2ème Code
Private Sub Button_Suivant_Click()
Dim x As Long
Dim Found As Boolean
Dim Reponse As Integer
Button_Rechercher.Visible = False
Button_Suivant.Visible = True
Found = False
For x = 4 To Range("A65535" ).End(xlUp).Row
If UCase(Range("A" & x)) Like "*" & UCase(UserForm2.TextBox_Nom_Frn.Value) & "*" Then
Found = True
Remplir ActiveSheet, x
// Ici initialement j'avais un MsgBox vbYesNo pour rappeler la Recherche d'après le contenu TextBox_Nom_Frn pour suivre les Occurences - Comment l'obtenir à nouveau lors d'un autre Click sur le Button_Suivant ?
End If
Next x
If Not Found Then
Reponse: MsgBox ("Requête non trouvée !" ), vbRetryCancel + vbExclamation
If Reponse = Retry Then
Vider
TextBox_Nom_Frn.SetFocus
End If
End If
End SubSalut le forum
Et faut deviner la forme du Code
Callou, tu connais le forum un exemple en pièce jointe est bcp mieux
qu'un code à la volée.
Mytå_Qc
Bonsoir Mytå
Et le Forum
(Mytå, tu dois avoir mon Fichier à jour en MP ou sur Globetrotter)
Le fichier devient trop gourmand 560ko, j'arrive à descendre à 128 -130 Ko car il faut que sa conserve un peu de fonctionalité.
Sinon on peut voir ma forme ici
Mais sans mise à jour du Bouton False et du Code ...
Je vais essayé de voir comment je peux faire pour le Forum
A+
Re :
Le Fichier est là https://www.excel-pratique.com/~files/doc/ForumVBA2.xls
Il faut saisir dans le TextBox Fournisseur * choisissez Citron pour suivre l'occurence y'en a plus (sinon rajouter ce que vous voulez en colonne A
* C'est Provisoire
Callou
Le Fichier adresser Bug ???
En tout cas j'apporte la réponse à ma question (l'acharnement à payé
Tjrs en Code (voir pb Bug) en Entier Svp on comprend mieux la "manoeuvre" !
Pour celles et ceux que sa peut aider
Rappel : Cette Procèdure permet de saisir une recherche dans un TextBox et de renseigner plusieurs TextBox dans un UserForm avec des valeurs contenues dans une Feuille (Voir Intitulé dans Sub Remplir).
On tape sa recherche puis le Bouton Rechercher qui se dérobe au profit de Suivant
pour suivre les Occurences ( Ici du Texte) jusqu'à la dernière trouvée, selon le principe du Ctrl+F ; A la dernière occurence Msgbox 'Recherche Terminé' le bouton Suivant s'en va et le Bouton Rechercher revient . D'où mon histoire du Bouton True/False
Callou
J'ai revu l'appel des Procèdures :
Option Explicit
Dim Ligne As Long, Limite As Long
Private Sub Remplir(sh As Worksheet, Ligne As Long)
UserForm2.Désignation.Value = sh.Cells(Ligne, "A").Value
UserForm2.Catégorie.Value = sh.Cells(Ligne, "B").Value
UserForm2.Condit.Value = sh.Cells(Ligne, "C").Value
UserForm2.Entrée.Value = sh.Cells(Ligne, "D").Value
UserForm2.Puht.Value = sh.Cells(Ligne, "E").Value
UserForm2.Pvte.Value = sh.Cells(Ligne, "G").Value
UserForm2.Dlc.Value = sh.Cells(Ligne, "J").Value
UserForm2.TextBox_Stock.Value = sh.Cells(Ligne, "F").Value
UserForm2.TextBox_Etat.Value = sh.Cells(Ligne, "I").Value
UserForm2.TextBox_Sortie.Value = sh.Cells(Ligne, "H").Value
End Sub
Private Sub Vider()
UserForm2.Désignation.Value = ""
UserForm2.Catégorie.Value = ""
UserForm2.Condit.Value = ""
UserForm2.Entrée.Value = ""
UserForm2.Puht.Value = ""
UserForm2.Pvte.Value = ""
UserForm2.Dlc.Value = ""
UserForm2.TextBox_Stock.Value = ""
UserForm2.TextBox_Etat.Value = ""
UserForm2.TextBox_Sortie.Value = ""
End Sub
Private Sub Button_Rechercher_Click()
Ligne = 4 'début de recherche à la ligne 4
Limite = Cells(Rows.Count, "A").End(xlUp).Row
Recherche Ligne
End Sub
Private Sub Button_Suivant_Click()
Recherche Ligne
End Sub
Sub Recherche(Début As Long) 'Début = Ligne
Dim x As Long
Dim Found As Boolean
Dim Reponse As Integer
Button_Rechercher.Visible = False
Button_Suivant.Visible = True
Found = False
If UserForm2.TextBox_Nom_Frn = "" Then
MsgBox "Vous devez saisir une Recherche", vbCritical
Exit Sub
End If
For x = Début To Limite
If UCase(Range("A" & x)) Like "*" & UCase(UserForm2.TextBox_Nom_Frn.Value) & "*" Then
Found = True
Remplir ActiveSheet, x
Ligne = x + 1 'pour ne pas relire la même ligne
Exit For ' On sort de la boucle ou la Sub pour utilisation de "Suivant"
End If
Next
If x = Limite + 1 Then
MsgBox "Recherche Terminé", vbOKOnly
Button_Rechercher.Visible = True
Button_Suivant.Visible = False
Exit Sub
End If
If Not Found Then
Reponse: MsgBox ("Requête non trouvée !"), vbRetryCancel + vbExclamation
If Reponse = vbRetry Then
Vider
TextBox_Nom_Frn.SetFocus
End If
End If
End SubBonjour Forum,
https://www.excel-pratique.com/~files/doc/jiujIProje2t.xls
Pourquoi cette erreur 1004 à la ligne
Limite = Cells(Rows.Count, "A").End(xlUp).Rows.
dans la lecture du Projet sur le Forum ...
Pourtant Chez moi en "Direct" çà fonctionne sans indiquer d'erreur???
A+ Callou
Salut le forum
Callou a écrit :Pourquoi cette erreur 1004 à la ligne
Limite = Cells(Rows.Count, "A").End(xlUp).Rows
Tu n'expliques même pas, comment elle survient (Aucun bouton de lancement sur ton fichier)
Il faut faire attention Internet Explorer (ou autre navigateur), ne
gère pas les feuilles de la même façon que l'application Excel.
Il vaut mieux sauvegarder le fichier sur le HDD, avant de l'ouvrir
Mytå