Code de numérotation automatique

domi4roues Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
e suis un novice qui en autodidacte de 58 ans cherche à faire du vba .Pour des besoins professionnelle je me suis fait un formulaire BDD pour un équipe de maintenance. A force de manipulation je voudrais que mes lignes de saisie soit numéroté et pouvoir imprimer sous forme fiche.

voici le code auquel j'ai travaillé,mais cela ne fonctionne pas:

Private Sub TextBox1_Change()

Sub AffecteNouveauNum()
Dim DerNum As Integer 'DerNum est le denier numéro créé
DerNum = Range("A1").End(xlDown).Value
NouveauNum = NouveauNuméro(DerNum)
DerCell = Range("A1").End(xlDown).Address 'DerCell est la dernière cellule contenant l dernier numéro
Range(DerCell).Activate ActiveCell.Offset(1, 0).Value = NouveauNum 'écrit le nouveau numéro dans la cellule vide en dessous


Merci pour vos subjectivation corrective salutation à vous

1 réponse

  1. fabien25000 Messages postés 697 Statut Membre 59
     
    bonjour,
    essaye ça pour voir :

    Sub AffecteNouveauNum() 
    Dim DerNum As Integer,  DerCell as Range 'DerNum est le denier numéro créé 
    DerNum = Range("A1").End(xlDown).Value 
    DerNum = DerNum +1 
    Set DerCell = Range("A1").End(xlDown).Address 'DerCell est la dernière cellule contenant l dernier numéro 
    DerCell.Activate 
    ActiveCell.Offset(1, 0).Value = DerNum 'écrit le nouveau numéro dans la cellule vide en dessous 
    End Sub


    Edit : Code rectifié suite erreur de synthaxe

    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Le correction n'est pas passée, il faut corriger :
      Set DerCell = Range("A1").End(xlDown).Address 'DerCell est la dernière cellule contenant l dernier numéro
      DerCell.Activate
      ActiveCell.Offset(1, 0).Value = DerNum 'écrit le nouveau numéro dans la cellule vide en dessous
      

      par
      Set DerCell = Range("A1").End(xlDown) 'DerCell est la dernière cellule contenant l dernier numéro
      DerCell.Offset(1, 0).Value = DerNum 'écrit le nouveau numéro dans la cellule vide en dessous
      
      0
      1. fabien25000 Messages postés 697 Statut Membre 59 > Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention  
         
        Bonjour Patrice,
        Ce n'est pas ça que j'avais corrigé, j'avais oublié le "Set" pour définir le range de de DerCell, mais tu as tout à fait raison, le activate et le activecell ne sont pas nécessaire
        merci
        0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      et surtout le .Address qui génère une erreur
      0
    3. domi4roues Messages postés 82 Date d'inscription   Statut Membre Dernière intervention  
       
      merci mais je vous que incrémentation sans que je soit obligé de taper le n°
      0
      1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783 > domi4roues Messages postés 82 Date d'inscription   Statut Membre Dernière intervention  
         
        Hein ????
        0