IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer un numéro dans une liste


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut Récupérer un numéro dans une liste
    Bonjour,

    Dans une feuille de données (Adhé), j'ai une liste d'adhérents (604) actuellement.(ColonneB)
    Ils sont numérotés de 1 à 618. Compte-tenu des agents qui sont partis, les numéros se trouvent forcément décalés.

    Je souhaiterai dans un TextBox récupérer le dernier numéro existant dans la liste.

    Comment puis-je faire ?

    Merci par avance

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Voici un petit code facile à mettre en oeuvre, c'est pas en textbox mais en messagebox, a adapter si nécessaire...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub testNbAdhe()
     
    NbAdhe = Application.Subtotal(3, Range("B:B"))
    'Compte le nombre de ligne
     
    MyLastAdhe = Cells(NbAdhe, 2)
    'Récupère le numéro d'adhérent dans la cellule B...
     
    MsgBox ("le dernier N° d'adhérent est " & MyLastAdhe)
     
    End Sub

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Bonjour Fvandermeulen,

    Tout d'abord merci pour ton aide.
    Peux-tu m'expliquer ton code s'il te plait car je ne saisi pas tout ?

    Particulièrement la 1ère ligne, j'ai utilisé F1 mais cela ne m'a pas apporté plus d'éclairage.

    MyLastAdhe -> est-ce un nom de cellule dans un fichier ?

    Merci

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,

    C'est vrai que je n'ai pas dimensioner les variables, c'est peut être un peu perturbant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NbAdhe = Application.Subtotal(3, Range("B:B"))
    NbAdhe est la variable qui compte le nombre de ligne => la ligne où se trouve le dernier adhérent (pour autant que ta liste soit en ordre croissant)
    J'ai utiliser "Application.subtotal..." pour éviter de le faire dans une cellule de ton fichier (tu aurait pu mettre la formule Soustotal dans la feuille Adhé et faire pointer la variable dessus)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyLastAdhe = Cells(NbAdhe, 2)
    Comme indiqué ci-dessus NbAdhe est la dernière ligne remplie, en utilisant cette variable dans le Cells, je trouve le contenu de la dernière cellulle remplie.
    MyLastAdhe étant également une variable.

    En espérant avoir été clair...
    Il y avait certainement de faire plus court avec un "end.(xlup)" mais ça me semblais plus clair comme ceci.

    A bientôt,

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Sinon si ta colonne n'est pas triée par numéro, pour récupérer la valeur maxi tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ValMax = Application.WorksheetFunction.Max(Columns(2))
    2 étant le numéro de la colonne ou se trouvent les numéros d'adhérents.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Points : 984
    Points
    984
    Par défaut
    Merci à vous 2 super ça marche.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Récupérer un numéro dans une phrase
    Par joss91 dans le forum Langage
    Réponses: 3
    Dernier message: 02/07/2008, 08h55
  2. Récupérer un numéro dans une phrase
    Par joss91 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/07/2008, 15h44
  3. Réponses: 5
    Dernier message: 01/06/2007, 14h20
  4. récupérer un objet dans une liste chainée
    Par marsuwhite dans le forum Langage
    Réponses: 4
    Dernier message: 05/06/2006, 14h05
  5. Réponses: 5
    Dernier message: 27/05/2005, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo