Programme parcourir plusieurs tableaux Ecel

Fermé
coudu - 17 déc. 2009 à 09:49
 coudu - 18 déc. 2009 à 15:28
Bonjour,
, je dispose d’un classeur Excel, faisant office de base de données des pratiquants de sports dans une agglomération de ville.
Ce classeur est composé de plusieurs feuilles,
Feuille 1 : « Accueil »
Feuille 2 : « Foot »
Feuille 3 : Basket »
Feuille 4 : « Tennis»
Feuille 5 : « Handball »

Dans chaque feuille (a part celle d’accueille) j’ai le même tableau avec des colonnes intitulées :
A1 : Numéro de licence
B1 : Nom licencié
C1 : Nom club
D1 : Ville
E1 : Sport

J’aimerai que lorsque je tape un numéro de licence dans une cellule de la page d’accueil (exemple B2) et que je clique sur un bouton de commande alors les informations du tableau (Nom du licencié, Nom club, ville, Sport) soient récupérées dans cette même feuille d’accueille dans les cellules B2, C2, D2, E2 par exemple.*
En gros que toutes les feuilles soient parcourues pour trouver les informations voulues.
Je n’y arrive pas…

En espérant être clair…

Merci pour votre aide précieuse
A voir également:

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
17 déc. 2009 à 13:55
Bonjour

essaies cette macro que l'on pourra améliorer si tu le désires
Sub chercher_valeur()
Dim licence
Dim nbre As Byte, cptr As Byte, lig As Long
licence = Sheets("acceuil").Range("B2")
nbre = ThisWorkbook.Sheets.Count
For cptr = 2 To nbre
    With Sheets(cptr)
        If Application.CountIf(.Columns(1), licence) > 0 Then
            lig = .Columns(1).Find(licence, .Range("A1"), xlValues).Row
            Sheets("acceuil").Range("C2:F2").Value = .Range(.Cells(lig, 2), .Cells(lig, 5)).Value
            Exit Sub
        End If
    End With
Next
MsgBox "Numéro de licence " & licence & " inconnu"
With Sheets("acceuil")
.Range("B2:F2") = ""
End With
End Sub
0
Re,
dis ça marche pas, ça marque erreure d'exécution type 9.
Le message me dis que l'indice n'appartient pas à la séléction.
Cette ligne est coloriée:
lig = .Columns(1).Find(licence, .Range("A1"), xlValues).Row

Tu serai pourquoi?

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
17 déc. 2009 à 15:24
curieux... chez moi ca fonctionne
ci joint ma maquette de travail
https://www.cjoint.com/?mrptfuixeE

si fonctionnement OK pour toi, on pourra passer en macro événementielle
0
nikel, enfait le problème c'est que tu as écris acceuil, et moi accueil ....

Par contre comme je suis débutant, je ne sais pas ce qu'est qu'une macro événementielle ?
Si ça peut améliorer mon fichier je suis à ton écoute.
En tout cas un grand merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
17 déc. 2009 à 17:08
Okay pour l'événementielle mais tout à l'heure ou demain, j'ai un petit truc à faire
tu regarderas et décideras si ça t'intéresse

ch'ai jamais comment écrire acceuil, pardon!accueil ;-)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
17 déc. 2009 à 19:22
ci joint la recherche par macro évnementielle:
https://www.cjoint.com/?mrtiZ63H48
lorsque tu écris dans B2 et que tu valides tu déclenche l'événement et la macro exécute la recherche sans avoir à cliquer sur un bouton

pour voir la b^te:
clic droit dans le nom d'onglet "accueil" (t'as vu le U !!!)
visualiser le code
tu es dans un module de feuille et tu as la liste des événements dans la liste déroulante de droite
tu as aussi des événement dans le module "thisworkbook" (dans l'éditeur vbe si tu n'a pas la fen^tre "projet"==> ctrl+R) clic dans liste de gauche puis de droite.

Dans module1 tu trouveras une petite macro très importante du fait de l'utilisation de enableevents car s'il y a coupure (souvent pendant les essais) les événements sont désactivés définitivement dans tout excel cette macro permet de réparer

Tu pourras trouver de la doc sur les événements dans cet excellent site pour apprendre VBA
http://www.info-3000.com/vbvba/evenementfeuilleclasseur.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour, merci pour ton aide hier.
Dis comment fait on pour activer un bouton de commande d'une feuille excel à partir d'un bouton de commande d'userform.
je m'explique, j'ai créé un userform dans lequel je retranscrit les infos qui apparaissent sur la feuille d'accueil (truc1,truc2...)et j'aimerais que lorsque je tape le numéro de licence (dans le userform) alors les infos soient retranscritent dans ce user form dans des textbox.
j'arrive a recuper les infos dans la textbox mais j'arrive pas à lancer la recherche a partir de mon userform.
merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
18 déc. 2009 à 11:49
no compris ta question

tu lances ton userform
dans une textbox tu écris ton numéro de licence et quand tu valides la recherche se fait et inscrit les valeurs dans les autres textbox (ou labels)
pour écrire les codes dans l'userform, clic droit sur userform dans la fenêtre projet

mais je ne vois pas du tout où tu veux en venir finalement.... le code peut être complétement différent suivant ton objectif final. donc...
0
En fait j'aimerais faire la même chose qu'hier mais avec un userform. Parcourir la feuille excel et remplir des textbox des info(sport,Nom,ville ect...)lorsque je clique sur le bouton de commande.

Merci
0