Programme parcourir plusieurs tableaux Ecel

coudu -  
 coudu -
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
Configuration: Windows 2000 Internet Explorer 6.0

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. coudu
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. coudu
       
      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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. coudu
     
    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
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. coudu
       
      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