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 :

Generer un ID unique dans une colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 21
    Par défaut Generer un ID unique dans une colonne
    Bonjour a tous,

    Je fait une nouvelle fois appelle à vous pour un probleme que je n'arrive pas à reseoudre après moulte recherches qui ne me conviennent pas .

    Je souhaiterai dans une colonne generer une valeur unique (correspondant à une sorte d'index) de la forme Uxxxx ou xxxx sont des chiffres.

    La particularité c'est qu'il me faut integrer ceci dans une macro (dc via un bouton qui remplirai la cellule) et que l'argument utilisé NE SOIT PAS prendre la cellule du dessus et l'incrementer de 1 mais plutot lire toute la colonne, reperer la valeur maximum et l'incrementer de 1, ceci dans un souci de tri de la premiere colonne (les index bougeront donc).

    Voici un exemple de ce que je souhaite mettre en place :



    Dans mon image de gauche, le bouton m'a permis de creer les index. apres un tri (donc id dans le desordre) et l'ajout d'une valeur en dessous, le bouton a reperer la valeur maximale (U0004) et a donc creer U0005 pour le suivant.

    Auriez-vous une solution pour moi ?

    En vous remerciant par avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Une piste en utilisant un code de ce type testé sur une colonne A et un bouton de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
        Dim i As Long
        Dim lngMax As Long
     
        For i = 1 To Range("A1").End(xlDown).Row
            If CLng(Right(Range("A" & i).Value, 4)) >= lngMax Then
                lngMax = CLng(Right(Range("A" & i).Value, 4))
            End If
        Next i
     
        MsgBox "U" & Format(lngMax + 1, "0000")
     
    End Sub
    Philippe

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Citation Envoyé par Tonton_glenn Voir le message

    La particularité c'est qu'il me faut integrer ceci dans une macro (dc via un bouton qui remplirai la cellule) et que l'argument utilisé NE SOIT PAS prendre la cellule du dessus et l'incrementer de 1 mais plutot lire toute la colonne, reperer la valeur maximum et l'incrementer de 1, ceci dans un souci de tri de la premiere colonne (les index bougeront donc).
    Selon ce que j'en comprends, le plus simple sous vba serait de faire un tri transitoire de ton tableau sur la colonne id, donc le dernier serait forcément le plus élevé et il te suffit de rajouter 1 pour obtenir le suivant... puis de refaire le tri voulu.

    ça devrait être bien plus rapide...

    cordialement,

    Didier

Discussions similaires

  1. [XL-2010] Unique valeur possible dans une colonne
    Par ultima67 dans le forum Conception
    Réponses: 3
    Dernier message: 13/05/2013, 00h39
  2. Comment compter dans une colonne ce qui est unique
    Par pilpoil dans le forum Excel
    Réponses: 5
    Dernier message: 08/08/2007, 11h33
  3. Réponses: 4
    Dernier message: 13/07/2007, 14h46
  4. Noms de colonne dans une colonne
    Par Digirom dans le forum Langage SQL
    Réponses: 14
    Dernier message: 23/04/2004, 11h51
  5. intervertir les valeurs dans une colonne d'une table
    Par hammou dans le forum Débuter
    Réponses: 2
    Dernier message: 26/01/2004, 10h15

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