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 :

Numérotation client vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut Numérotation client vba
    Nom : vbaprojet.PNG
Affichages : 607
Taille : 103,2 Ko

    Bonjour, j'aimerais faire en sorte qu'a chaque fois que j'encode un client, le numéro du client augmente de 1.

    Si possible j'aimerais aussi qu'il y ait des numéros bis (1.1 ; 1.2 ;...) dans le cas où je mets plusieurs personnes sous une même assurance (par exemple une famille)

    Tout ça automatiquement et en vba s'il vous plait

    Nom : projetVBA.PNG
Affichages : 610
Taille : 361,5 Ko

    P.S.: je ne suis pas très bon en vba.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Pour l'incrémentation automatique, tu peux utiliser Max()+1. Ici, en colonne 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     
        Dim Num As Long
     
        Num = Application.Max(Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))) + 1
     
        MsgBox Num
     
    End Sub
    Si possible j'aimerais aussi qu'il y ait des numéros bis (1.1 ; 1.2 ;...) dans le cas où je mets plusieurs personnes sous une même assurance (par exemple une famille)
    Pour ça, il va falloir un peu plus d'explications ! Surtout, comment sont rangées tes données quand les personnes sont sous le même numéro de contrat

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    et surtout pour les ajout eventuel d'un membre de la famille dans le contrat il faut non seulement determiner le dernier numero mais aussi dans ce cas la le dernier numero de la famille ainsi que sa ligne pour y inserer le nouveau

    conception a revoir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Theze Voir le message
    Bonjour,

    Pour l'incrémentation automatique, tu peux utiliser Max()+1. Ici, en colonne 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     
        Dim Num As Long
     
        Num = Application.Max(Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))) + 1
     
        MsgBox Num
     
    End Sub
    Bonjour, comme je l'ai dit, je suis débutant donc peux-tu me dire où je dois le mettre pour que ça fonctionne?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Theze Voir le message
    Pour ça, il va falloir un peu plus d'explications ! Surtout, comment sont rangées tes données quand les personnes sont sous le même numéro de contrat
    Imaginons qu'un père souscris une assurance pour lui et toute sa famille. Pour le père (vu que c'est lui qui souscris et qui paie) son numéro sera un nombre entier (1, 2, 3) et pour les membres de sa famille, ça reprendrait le même nombre mais en rajoutant des décimales dérrierres (1.1, 1.2, 1.3,...)

  6. #6
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonsoir,
    Attention, sauf erreur ou omission de ma part, 1;2;3 etc sont des chiffres. Alors que 1.1; 1.2 etc c'est du texte, a traiter avec prudence!
    Quand a utiliser 1; 2 ; 3 ; 3,1 ; 3,2 la fonction max donnerait Max()+1 =4,2. Il faudra donc adjoindre à la fonction "Max" la fonction "Tronque"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Trunc(Max("A2:A350"))+1
    Quand à savoir ou mettre ce code, on connais pas le tien de code, c'est impossible à dire

    Cordialement

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2018
    Messages : 4
    Par défaut
    Citation Envoyé par Transitoire Voir le message

    Quand à savoir ou mettre ce code, on connais pas le tien de code, c'est impossible à dire

    Cordialement
    Voici mon projet
    Fichiers attachés Fichiers attachés

  8. #8
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, vous avez déja sur votre projet un compteur de ligne, je l'ai fait fonctionner en mettant la colonne A en nombre sans virgule. en effet, vous verrez sur le code en dessous, que le If(IsNumeric...) renvoi au else s'il ne s'agit pas d'un nombre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
        Dim tempnum As String
            tempnum = Range("a65000").End(xlUp).Rows
        If (IsNumeric(tempnum)) Then
            lblNum.Caption = tempnum + 1
        Else
            lblNum.Caption = 1
        End If
        code.....
    Par ailleurs, en ce qui concerne Les comptages en 3,1 ou 3.1, cela demande à mon sens une modification importantes de structures. Cela oblique à une fiche par personne soit 6 fiches, si 1 abonné et 5 supplémentaires. Le seul avantage réside dans deux choses, une recherche plus simple par nom, et la non limitation à 6 supplémentaires. La balle est dans votre camp.
    Cordialement

Discussions similaires

  1. client VBA pour OFS
    Par ariana1993 dans le forum Automation
    Réponses: 0
    Dernier message: 22/05/2017, 17h48
  2. Numérotation client par recherche de numéro libre
    Par forsay1 dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 06/07/2012, 11h26
  3. [OL-2003] Numérotation automatique VBA
    Par ptitemeuh dans le forum Outlook
    Réponses: 0
    Dernier message: 05/02/2010, 11h35
  4. numérotation en vba avec condition
    Par nrdz83 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/01/2010, 20h06
  5. [vba] Envoi de fichier ascii client Windows => server Lin
    Par kremvax dans le forum Général VBA
    Réponses: 3
    Dernier message: 28/11/2005, 12h00

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