recherche dasn +sieurs feuilles

R

rem$

Guest
bonjour a tous

j'ai un userform (USF2) qui me permet de faire une recherche dans plusieurs feuilles (47) mais lorsque je masque ces feuilles pour n'en laisser qu'une (celle de saisie) il me retourne un message d'erreur d'execution ???
ca ve dire que je ne peut pas masquer mes feuilles ??? pourtant les utilisateurs n'ont pas besoins de voir comment sont organisees les donnees
si c le cas comment est-il possible de masquer les feuilles ???

d'avance merci.......


voici mon code
---------------------------------------------------------------------------------------------
Private Sub recherchebouton_Click()
UserForm2.Show
End Sub
---------------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
UserForm2.PrintForm
End Sub
---------------------------------------------------------------------------------------------
Private Sub CommandButton2_Click()
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
TextBox9.Value = ""
End Sub
---------------------------------------------------------------------------------------------
Private Sub ok_click()
Dim cel As Range
Dim x As Byte
If TextBox3.Value <> "vrai" Then Image2.Visible = True
If TextBox1.Value = "" Then MsgBox "Donne moi ton N° d'échantillon"

For x = 1 To 47
Sheets(x).Select
For Each cel In Sheets(x).Range("d4:d" & Sheets(x).Range("d5000").End(xlUp).Row)
If cel.Text = TextBox1.Value Then
cel.Select
GoTo suite
End If
Next cel

Next x

suite:
TextBox2.Value = ActiveCell.Offset(0, -2).Value
TextBox3.Value = ActiveCell.Offset(0, 6).Value
TextBox4.Value = ActiveCell.Offset(0, -1).Value
TextBox5.Value = ActiveCell.Offset(0, 1).Value
TextBox6.Value = ActiveCell.Offset(0, 2).Value
TextBox7.Value = ActiveCell.Offset(0, 3).Value
TextBox8.Value = ActiveCell.Offset(0, 4).Value
TextBox9.Value = ActiveCell.Offset(0, 5).Value

Exit Sub
End Sub
---------------------------------------------------------------------------------------------
Private Sub quitterbouton_Click()
Unload Me
End Sub
---------------------------------------------------------------------------------------------
 
B

Benoit

Guest
Bonjour

Plutot que :
Sheets(x).Select ce qui marchera pas puisque masqué,

Tu mets

Application.SceenUpdating = False, personne verra rien..
Sheets(x).Unhide
ton smilblick

Sheets(x).hide
Application.SceenUpdating = True

ça devrait marcher...

Benoit,
 
H

Hervé

Guest
bonjour

C'est ton sheets(x).select et ensuite ton cell.select qui pose problème tu ne peut pas activer une cellule d'un onglet masquer :

Dim cel As Range
Dim x As Byte
If TextBox3.Value <> "vrai" Then Image2.Visible = True
If TextBox1.Value = "" Then MsgBox "Donne moi ton N° d'échantillon"

For x = 1 To 47

For Each cel In Sheets(x).Range("d4:d" & Sheets(x).Range("d5000").End(xlUp).Row)
If cel.Text = TextBox1.Value Then
TextBox2.Value = cel.Offset(0, -2).Value
TextBox3.Value = cel.Offset(0, 6).Value
TextBox4.Value = cel.Offset(0, -1).Value
TextBox5.Value = cel.Offset(0, 1).Value
TextBox6.Value = cel.Offset(0, 2).Value
TextBox7.Value = cel.Offset(0, 3).Value
TextBox8.Value = cel.Offset(0, 4).Value
TextBox9.Value = cel.Offset(0, 5).Value
End If
Next cel
Next x
End Sub

dans cette macro tu renvois les informations de cel dans les textbox de ton UF.
Est-ce bien ceci que tu veux faire ?

si tu veux renvoyer les valeurs des textbox vers les cel utilise :
cel.offset(0,-2).value=textbox2.value

Salut
Hervé

PS : Tout ceci sans avoir testé je peut me gourrer.
 
R

rem$

Guest
re hervé

je test tout ca aujourd'hui.........

en fait j'ai un UF1 pour remplir des tableaux(onglets dans le fichier du mois) et un UF2 pour faire des recherches dans ces tableaux
donc dans le UF2 c bien la valeur des cell kil faut renvoyer dans les textbox

je te tiens au courant du resultat

encore merci
@+
Rem$
 
R

rem$

Guest
re hervé

dslé de t'avoir fait bosser pour presque rien mais une critique de la version de test me demandait de laisser les onglets apparants alors......le pb se resoud de lui meme.....;
mais je garde la ligne dans un coin elle peut toujours servir pour autre choz ou pour qqun d'autre.........


encore merci

Rem$
 
H

Hervé

Guest
re rem$

La macro reste bonne même si tes onglets sont apparents, on évite ainsi les select toujours lents.

Par contre si tu veux sortir de la boucle pour arreter le transfert des données au premiere valeur trouver, utilise :

exit for

Salut
Hervé
 

Discussions similaires

Réponses
6
Affichages
335
Réponses
2
Affichages
219

Statistiques des forums

Discussions
313 131
Messages
2 095 545
Membres
106 291
dernier inscrit
avrilmorgan