none
Projet Excel 2016 numérotation automatique de 1 en 1 RRS feed

  • Question

  • Bonjour dans un projet Excel je numérote des élément de 400 à l'infini avec une incrémentation de 1.

    (400/ 401 / 402 ect...)

    ma référence de base est la cellule A1 de la feuil1

    Par un bouton j'ouvre un form avec un TextBox qui contient l'année en cours au format "yy" + la valeur de base en A1 +1

    Je souhaiterais donc qu'à chaque ouverture de ce form, la valeur du TextBox soit incrémenter de 1

    Voici mon code de base :

    Dim i As Integer = 1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load TextBox1.Text = Date.Now.ToString("yy") & Val(Globals.Feuil1.Range("A1").Value2) + i End Sub


    JF Collombet ® CreateSpecificCulture


    samedi 5 mars 2016 04:05

Réponses

  • La façon recommandée est d'avoir un User Settings contenant la dernière valeur utilisée.

    Créer un UserSetting comme ceci dans :

    et dans les propriétés de l'app:

    Et pour y accéder:

    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            TextBox1.Text = My.Settings.Nickname
            TextBox2.Text = My.Settings.Connection
            TextBox3.Text = My.Settings.LastTime
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If TextBox2.Text <> "" And IsNumeric(TextBox2.Text) = True Then
                Dim nbConnexion As Integer
                If Integer.TryParse(TextBox2.Text, nbConnexion) = True Then
                    TextBox2.Text = nbConnexion + 1
                End If
            End If
            If TextBox1.Text <> "" Then
                Call ChangeNickname(TextBox1.Text)
            End If
            If TextBox2.Text <> "" And IsNumeric(TextBox2.Text) = True Then
                Dim nbConnexion As Integer
                If Integer.TryParse(TextBox2.Text, nbConnexion) = True Then
                    Call ChangeConnexion(nbConnexion)
                End If
    
            End If
            Call UpdateLastConnexionTime()
    
        End Sub
    
        Private Sub ChangeNickname(ByVal newNickname As String)
            My.Settings.Nickname = newNickname
            My.Settings.Save()
    
        End Sub
        Private Sub ChangeConnexion(ByVal NewConnexionStart As Integer)
            My.Settings.Connection = NewConnexionStart
            My.Settings.Save()
    
        End Sub
    
        Private Sub UpdateLastConnexionTime()
            My.Settings.LastTime = DateTime.Now
            My.Settings.Save()
    
        End Sub
    End Class

    Pour le principe des User Settings: https://msdn.microsoft.com/en-us/library/a65txexh.aspx

    Pour modifier des settings: https://msdn.microsoft.com/en-us/library/bc6ws923.aspx

    et pour lire le settings https://msdn.microsoft.com/en-us/library/wch2c4sf.aspx


    samedi 5 mars 2016 09:28