|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 5 ![]() |
Bonjour,
Je viens chercher de la compétence sur ce forum parce que ma petite mémoire ne répond plus. Cela fait très,très longtemps que je n'ai pas fait de macro .... Hier, je me suis lancé dessus pour réaliser une recherche de nom sur une base Excel après sur un CommandButton_Click. Malheureusement, je n'arrive pas à faire ma boucle. Le but est de controler la présence d'un même nom dans une cellule sur la même feuille et de l'afficher dans des TextBox avec d'autres informations. La fonction marche une fois .... il me manque la boucle. Code :
Est-ce quelqu'un aurait un peu de temps pour regarder mon bout de code et ainsi me rafraîchir la mémoire ? Merci. |
||
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Enseignant Inscription : novembre 2009 Messages : 350 ![]() |
Bonjour à tous,
Essayes avec le code suivant: Code :
Cordialement |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 5 ![]() |
Merci hben1961 pour l'aide ...
Mon problème perdure .... Je me suis peut être mal exprimé. J'essaye mon explication J'ai une table avec x noms dans une feuille Excel. J'ai une maco qui recherche le nom souhaité et je voudrais faire un bouton qui permet de chercher les noms x identiques sur la même feuille pour afficher les valeurs des cellules dans les TextBox. Donc faire un suivant-suivant tant que le même nom est identique. Je ne vous enbrouille pas trop ? Merci. |
|
|
00
|
|
|
#4 | ||
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
A toutes fin utiles, je te met, brut de fonderie, un code que j'avais fait pour une vieille gestion de DVDthèque (très vieux code donc pas top ) et qui fonctionne dans son environnement d'une façon approchante à ce que tu demandes. Ce ne devrait pas être trop dur à décrypter, le but était de s'arrêter sur chaque occurrence trouvée, de la sélectionner, de demander à l'utilisateur s'il voulait continuer et de signaler à chaque feuille si rien n'avait été trouvé pour en fin de course signaler que toutes les feuilles avaient été parcourues. Du coup il suffit de recueillir les adresses au fur et à mesure...Le code est plus compliqué car on parcourait les feuilles voulues en sélectionnant l'item recherché pour une visualisation directe. Ce qui t’intéressera est la méthode de passage "au suivant" basée sur les méthodes Find et FindNext. la ligne : Code :
If Feuill2.Name <> ("Données") And Feuill2.Name <> ("PassNews") Then Sinon, c'est pas très compliqué et facilement adaptable vu qu'il y a un arrêt à chaque occurrence Code :
cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
||
|
|
01
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 5 ![]() |
Merci pour la réponse.
Snifff, j'ai toujours autant de mal .... |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 692 ![]() |
Bonjour,
Voici un exemple avec un Userform, 4 TextBox et 1 CommanButton. Les données sont en colonnes B, C, D et E. Le nom est cherché en colonne B. Le tableau comporte une ligne d’en-tête. Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Bonjour,
@RetourVBA ça demande un minimum d'efforts et d’essais, faire un copié-collé moins, mais ce n'est pas le but premier du forum, les contributeurs font l'effort gracieux de répondre et de détailler, en retour il est logique que l'autre côté fasse de même. Nous ne sommes pas dans une société de services @gFZT82, sauf erreur... On n'aura pas tous les résultats ainsi Sinon : c n'est pas déclarée contrairement aux autres variables Tu indiques 4 colonnes, mais ne te fies qu'à la B pour DerLg --- Lire l'aide VBA à FInd et FindNext en prenant en compte le paramètre de mémorisation signalé. cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#8 | |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 692 ![]() |
Bonjour Ormonth,
Citation:
L’idée, c’est d’utiliser une variable globale (Ligne) qui permet d’enregistrer la dernière ligne scrutée. A chaque clic, une nouvelle recherche Find est effectuée sur le restant de la liste, à partir de cette ligne enregistrée. Cordialement. |
|
|
|
00
|
|
|
#9 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
Ok,
Il faut renouveler les clics FindNext est construit natif pour ça sinon justement... cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 692 ![]() |
Effectivement, on aurait pu obtenir un résultat global avec FindNext, mais la demande de RetourVBA était d’obtenir une commande pas à pas.
Ton code lui permettra d’envisager les deux approches Cordialement. |
|
|
00
|
|
|
#11 |
![]() ![]() Didier GONARDFormateur Développeur Office - indépendant Inscription : février 2008 Messages : 2 353 ![]() |
@ RetourVBA
essaies de mettre en place et reviens si tu bloques sur u point particulier avec ton nouveau code... cordialement, Didier
__________________
Didier Gonard Ps : Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite ! Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP N'oubliez pas de mettre : ..quand c'est le cas !
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 5 ![]() |
Bonjour,
Merci aux différents contributeurs. Ormonth, je n'ai pas fait qu'un copie-collé te ton travail. Je n'arrête pas de l'étudier depuis que tu l'as mis grâcieusement à disposition. Je t'en remercie. Simplement pour avoir d'autres avis et méthodes j'ai signalé ou j'en étais. Il y a quelques années, je réalisais sans problème des macros et je n'ai jamais attendu que l'on me les ponde. Mais maintenant je l'ai l'impression d'être devenu un débutant voir un zéro. C'est pour cela que je compte sur les compétences de chacun pour me rafraîchir cette idée. Je vais maintenant étudier ce que me propose gFZT82. Au moins avec vos deux contributions ma mémoire reviendra un peu. Encore merci pour votre aide. Et je n'ai pas l'attention de critiquer vos travaux ou vos interventions. |
|
|
00
|
|
|
#13 | |
|
Expert Confirmé
![]() |
bonjours
je suis d'accord avec ormonth "find next répond a ta demande maintenant si il doit y avoir une condition du genre suivant mettre une boucle do loop entre les deux find avec une condition et un msgbox "oui ou non" pour continuer la recherche au plaisir bonjour Citation:
ca me semble un peu compliqué pour quoi ne pas faire une simple boucle sur la plage avec "find et find next" et inscrire dans un listbox les nom et dans la deuxieme collone de la listbox le numero de ligne pour pouvoir récupérer les données annexes au nom ainsi en cliquand sur la listbox tu a le nom et le numero de ligne j'avais mis au point avec grisan29 un formulaire client qui utilise cette methode regarde ICI! au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 5 ![]() |
Bonjour,
Merci PatrickToulon pour le lien. Je vais étudier cela. C'est vrai qu'avant de poster sur le forum j'avais envisagé de changer de fusil d'épaule en utilisant une ListBox. Mais je voulais l'avis d'expert sur ma première idée. Je vous tiens au courant. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com