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 :

Incrémentation dans userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut Incrémentation dans userform
    bonjour
    je cherche un tuto ou la solution "code" pour avoir un numéro unique pour chaque enregistrement dans une feuille exel.
    Je recherche également un tuto ou une vidéo qui m’expliquerez comment faire une recherche d'un enregistrement directement a partir de la même userform.
    merci d'avance pour votre aide
    P.S je cherche pas une solution toute faite. Juste une bonne explication

    jean marc

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Tu peux utiliser un filtre avancé sans doublon.
    Ensuite, tu charges une listbox ou combobox d'un seul coup, si nécessaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaListBox.List = Sheets("MaFeuille").Range("Z2:Z" & DerLigne).Value
    C'est toujours un début...

  3. #3
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut re
    bonjour
    déjà merci de m'avoir répondu.
    Je suis pas informaticien
    pourrais tu me faire une petite explications un peux plus détaillé
    merci d'avance

    jean marc

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    voir Les filtres avancés ou élaborés dans Excel


    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  5. #5
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : cadres
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut re
    bonjour
    merci pour vos réponses. J'ai bien regarder ce tuto mais sa ne correspond pas a ce que je souhaiterais faire.
    Ce que je souhaite c'est que quant j'ouvre mon userform en cliquant sur le bouton ajouter de ma feuille "contact client" c'est que cela me génère automatiquement un numéro unique et que dans cette même userform pouvoir rajouter un bouton recherche qui me permettrai de retrouver un enregistrement de ma feuille "contact client" pour pouvoir modifier cet enregistrement.
    Voila. Si il y a une possibilité je suis preneur.
    Merci d'avance
    jean marc
    Fichiers attachés Fichiers attachés

  6. #6
    Invité
    Invité(e)
    Par défaut Bonjour,
    Tu peux utiliser le N° de ligne comme N° unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumUnique = ActiveSheet.UsedRange.Rows.Count + 1
    ou incrémenté de 1 en fonction de la dernière ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumUnique = ActiveSheet.Cells(ActiveSheet.UsedRange.Rows.Count, 1) + 1

  7. #7
    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
    Bonjour,

    Citation Envoyé par rdurupt Voir le message
    Tu peux utiliser le N° de ligne comme N° unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NumUnique = ActiveSheet.UsedRange.Rows.Count + 1
    Ça c’est dangereux, dans une Bdd, on est amené à supprimer des enregistrements, ce qui fait qu’avec cette méthode, un N° de ligne déjà utilisé en fin de liste peut redevenir disponible, hors il est déjà occupé par un enregistrement valide (sauf coïncidence rare).
    De plus UsedRange est particulièrement inapproprié vu ses caractéristiques dans ce contexte..

    On peut voir sinon, orcinus, que comme souvent, la construction du design de l'USF, passe avant la résolution du code qui est pourtant la condition sine qua non du tout

    Tu peux, pour faire simple, créer un compteur dont la valeur sera stockée dans une cellule cachée et protégée et que tu incrémenteras à chaque création client.

    Sinon, ce que j’emploie, selon contexte, dans des boîtes où j’interviens, c’est que souvent pour qu’un prospect soit client, il faut le feu vert du service compta, si OK , la compta crée un compte et c’est l’ID de la compta dont je me sers, il est forcément unique et l’avoir sur la fiche client facilite la communication interne.

    Il faut à mon sens rajouter d’ailleurs une case ID Client à ton USF.

    Pour ensuite trouver le client voulu, il faut savoir si tu feras une recherche par nom ou par ID, le mieux est de prévoir les deux, sachant qu’on peut avoir le nom et pas l’ID et inversement, le souci du nom est qu’il peut y avoir des homonymies, donc à gérer… selon ton contexte à préciser.

    Pour la recherche d’ID, vois du côté de la fonction Match par exemple.

    cordialement,

    Didier

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

Discussions similaires

  1. création champ incrémenté dans form
    Par nico86 dans le forum IHM
    Réponses: 1
    Dernier message: 26/11/2006, 15h22
  2. (VBA-E) Problème combobox dans userform
    Par gringo69 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2006, 18h28
  3. Champs virtuel auto incrémenté dans une vue
    Par berceker united dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/06/2006, 14h33
  4. Réponses: 3
    Dernier message: 27/11/2005, 20h57
  5. [batch] incrémentation dans une boucle for
    Par bart64 dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 08/09/2004, 20h05

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