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

VBA Access Discussion :

Incrémenter des lettres


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 53
    Par défaut Incrémenter des lettres
    Bonjour,
    Je souhaite à la suite d'un mot incrémenter une lettre, cela ne m'avait pas l'air si difficile que ça et pourtant... je n'y arrive pas.
    J'arrive à mettre la lettre A mais pas moyen de trouver comment incrémenter la lettre B si j'ai déjà le mot avec les lettre A et ainsi de suite(C si il y a déjà la présence de mon mot avec la lettre A et mon mot avec la lettre B...) Sachant qu'à un nouveau mot, nouveau départ d'incrémentation.
    J'ai testé ce code mais il me met toujours la lettre A quel que soit les enregistrements présents dans ma table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim c As Byte
    c = 65
    [lechampsàremplir] = [monmot] & Chr(c)
    If [lechampsàremplir] = [monmot] & Chr(c) Then
    c = c + 1
    End If
    Je débute dans le code VBA et si quelqu'un pouvait m'éclairer sur la méthode à suivre, j'ai eu beau chercher, je n'ai rien trouvé que j'ai réussi à adapter à ce que je voulais ou alors j'ai dû mal chercher...

    Merci pour l'aide que vous pourrez m'apporter.

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 127
    Par défaut
    Bonjour,

    Je n'ai pas compris ce que tu veux faire
    Dans le code indiqué, la condition est toujours vraie donc c toujours incrémenté mais comme il n'est pas utilisé ensuite cela ne sert à rien

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 605
    Billets dans le blog
    67
    Par défaut
    Salut,

    C'est vrai que ça manque de précision, c'est quoi le but de la manœuvre ?

    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 53
    Par défaut
    Je réexplique, c'est vrai que je n'ai peut-être pas été très claire.
    Je crée une base de donnée pour répertorier des espèces.
    J'ai réussi à créer un numéro personnalisé pour chaque espèce sous la forme XXXXXX0000.
    Les XXXXXX sont les premières lettres des familles d'espèce et ensuite un numéro pour les différentes espèces de la famille. A chaque nouvelle famille, le numéro repart à 0001.
    Les espèces seront rangées dans un meuble à tiroirs, et il serait possible d'avoir dans plusieurs flacons différents la même espèce ( même espèce récoltée sur un lieu différent du premier... = différents échantillons)
    Sur chaque flacon, un numéro différent sera inscrit pour pouvoir trouver facilement l'échantillon souhaité et ce numéro de flacon sera écrit de la manière suivante : XXXXXX0000Y
    Le dernier Y étant l'incrémentation automatique de lettre que je souhaite faire et qui permettra de différencier les échantillons.
    Du coup pour toutes les espèces, le premier échantillon entré dans la base sera XXXXXX0000A et j'aimerais que lorsque je reprends une espèce, le numéro passe en XXXXXX0000B et ainsi de suite pour une espèce donnée.
    En gros je pense qu'il faut un peu de code pour retrouver dans la base le dernier "numéro" de l'espèce et lui faire un +1 pour passer à la lettre suivante.
    Mais je n'arrive pas à le faire.

    Exemple concret : ANNSPI0045A, ANNSPI0045B sont dans la table et je souhaite rajouter un échantillon de ANNSPI0045 et j'aimerais qu'automatiquement le numéro se mette en ANNSPI0045C.

    J'espère avoir été plus claire et ne pas vous avoir encore plus perdu.

    Merci de votre aide en tous cas !

  5. #5
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,
    La première idée qu'il me vient à l'esprit est le code ASCII.
    Je ne sais pas si l'on peut et je n'ai jamais essayé sous VBA, mais avec le recordset, tu lirais ta table de données.
    Tu extraits les données qui t'intéresse pour identifié ton truc et avec le code ASCII tu pourrais comparer si ta dernière lettre correspond à la dernière ou non.
    De là, tu pourrais trouver ton incrémentation.
    Comme je l'ai dit en haut, je ne sais pas si c'est possible sous VBA mais orientes toi par là

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Juin 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 53
    Par défaut
    Salut,
    Je pense que c'est un peu ce sur quoi je suis partie avec des bouts de code trouvé sur internet, mais comme je l'ai dit plus haut, je n'arrive pas à coder.
    Mon 65 dans le code fait référence au code ASCII (la lettre A) mais je pense que je l'utilise mal.
    Je débute vraiment avec Access et le code VBA du coup je galère un peu.

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

Discussions similaires

  1. Incrémenter des lettres plutôt que des chiffres
    Par Bluestorm dans le forum Développement
    Réponses: 5
    Dernier message: 03/03/2015, 17h43
  2. incrémentation des lettres
    Par atmar dans le forum Access
    Réponses: 9
    Dernier message: 31/12/2008, 14h38
  3. [Puces et numéros] Pas d'incrémentation des lettres
    Par Alqualonde dans le forum Word
    Réponses: 6
    Dernier message: 02/11/2007, 14h54
  4. transformer des lettres en chifres
    Par hassanibi dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 06/09/2005, 08h54
  5. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 08h04

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