Userform recherche next...

A

Attila

Guest
Bonjour tout le monde
je n'ai pas trop d'experience avec VBA donc j'ai quelques petits problemes ^^
J'ai créé un Userform, une sorte de rechercher remplacer comme celui d'excel auquel je veux rajouter des options comme par example mettre en gras la cellule qui contient la chaine de caracteres recherchés...
Je c pas si je m'y suis bien pris a la base et j'ai pas tout compris, le "probleme" quand on debute c qu'on fouine un peu partout et qu'on test alors le resultat est peut etre pas tres conventionel je vous colles le code en esperant ercevoir vos conseils critiques ect... le probleme etant que si je ne remplace pas le contenu de la cellule je n'arrive pas a passer a la suivante, j'ai l'impression qu'il tournes en boucle sur la cellule contenant la chaine rechercher tant que je ne remplace pas...

Private Sub bt_rechercher_Click()


With Worksheets(1).Range("a1:z6000") ' ici deja je n'arrives pas a mettre simplement toutes les cellules de la feuille active de a à z je trouves pas ca terrible lol si j'ai des infos en AA1 c mort non ?

Set c = .Find(zs_saisie)

If Not c Is Nothing Then

firstAddress = c.Address ' j'ai aps trop bien compris comment ca marche ici le firstaddress c un peu le prob des autodidacte debutant lol un peu trop de copi colle bhou... need help

Range(c.Address).Activate

If Gras = True Then

Dim activcell As Range

Set activcell = ActiveCell

Selection.Font.Bold = True

activcell.Select

Else

Selection.Font.Bold = False

End If


If zs_saisie2 = "" Then ' ca je l'ai mis au cas ou justement l'utilisateur ne renseigne pas la zone de saisie2 "remplacer" puisqu'il veut juste par ex mettre en bold

zs_saisie2 = zs_saisie

zs_saisie2.Visible = False ' et je la fais disparaitre lol ca c du luxe ^^

End If

c.Value = zs_saisie2

End If

End With

End Sub

Private Sub bt_test_Click()

End Sub

Private Sub fin_Click()
Unload Me
End Sub

Private Sub Gras_Click()

End Sub

Private Sub UserForm_Activate()

End Sub

Private Sub UserForm_Click()

End Sub

Private Sub zs_saisie2_Change()

End Sub


Voila voila... donc je c pas trop comment faire un findnext quand on click une deuxzieme fois sur le bouton il tourne en boucle sur la meme cellule ce qui est logique vu qu'il y trouves la bonne chaine de caractere
 
J

JyM

Guest
...tentons...
ô Atilla,

1 distingues la boucle de recherche du traitement
2 pour test, limites la zone de recherche A1:B2; t"es moins emmerdé en attendant que ça tourne.
3 ou utilises la barre Visual Basic pour enregistrer"va à la dernière cellule", recopies-en, le code après quoi
AA=selection.row
BB=selection.column
renvoient l'amplitude maxi de ta recherche.
4 pour tester utilise STOP, la macro s'arrête dessus, tu peux suiver en pas-à pas avec F8 et vérifier des expressions mise en surbrillance à la souris (des espions) en avec F9.
5 série la misère
6 commence par module sans formulaire, dans ton classeur à repeindre

7 sub N_IMPORTE_QUOI()
texte déclencheur=INPUTBOX("saisis le déclencheur")
début boucle lignes
début boucle colonnes
si texte déclencheur ; repère ligne et colonne ;appel COLORIE

si ligne=trop ; STOP 'par prudence
si colonne=trop ; STOP 'par prudence
fin boucle colonnes
fin boucle lignes
end sub

sub COLORIE()
stop 'là ça te donne la main, tu peux tester si
'l'instruction suivante est licite ou si elle plante
CELLS(ligne,colonne).FONT... (je ne sais pas cette syntaxe)
end sub

8 quand ce truc simple marche, cherche à coller le formulaire qui n'est qu'une boite d'échange améliorée.
 
A

Attila

Guest
tentons... de comprendre et faire ^^
Merci a toi de ta reponse, bien que j'ai trouver une soluce a mon probleme je vais quand meme essayer de mettre en pratique ce que tu as essayer de m'expliquer, ca pourra surement me servir une autre fois...
la mon userform fonctionne, alors esque c correct, je c pas trop mais le resultat est la lui ;) quoi qu'il en soit je continu et je poserai en post le resultat final comme ca on pourra me dire si ca tiens la route ou pas
Thx see you soon
 

Discussions similaires

Réponses
2
Affichages
180

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 084
dernier inscrit
lca.pertus