Microsoft 365 Insertion texte + numéro qui change à chaque changement de ligne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ptit_ange69

XLDnaute Nouveau
Bonjour,
Je coince au niveau de l'ajout d'une nouvelle ligne pour que dans ma colonne A soit incrémenter un texte + un numéro qui change à chaque fois.
Dans ma colonne K, je scannerai le code barre d'un produit et de ce fait ajoute une nouvelle ligne dans mon tableau. Cependant je n'arrive pas à changer le numéro dans la colonne A. Je voudrais que les numéros changent à chaque nouvelle ligne. (DIRECT_0001 , DIRECT_0002.....)
1740557890029.png


Merci par avance de votre aide.
 

Pièces jointes

Bonjour,

EDIT : j'ai modifié le code

Lol tiens, la variable stpevt c'est moi qui avait mis cela dans mes codes... 😄

Bon pour votre demande remplacez simplement Tout le code par celui ci-dessous
Code:
Dim stpevt As Boolean
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or stpevt = True Then Exit Sub

With ListObjects(1)
    If Not Intersect(Target, .DataBodyRange) Is Nothing Then
        stpevt = True
        If WorksheetFunction.CountA(.DataBodyRange(Target.Row - .HeaderRowRange.Row, 9).Resize(, 1)) = 1 Then
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 2) = Format(CDate(Date), "dd/mm/yyyy")
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 16) = 1
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 3) = "Validé"
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 16) = 1
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 17) = "o"
            If .DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = vbNullString Then
                .DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = "DIRECT_" & Format(.ListRows.Count, "0000") 'Right("0000" & Trim(Str(NL - 1)), 4)
            End If
            '.DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = "DIRECT_" & Right("0000" & Trim(Str(NL - 1)), 4)
        End If
    End If
End With
stpevt = False
End Sub

Pour que vous voyiez j'ai désactivé une ligne à la fin du code. Vous pouvez la supprimer


Cordialement
 
Dernière édition:
Bonjour,

EDIT : j'ai modifié le code

Lol tiens, la variable stpevt c'est moi qui avait mis cela dans mes codes... 😄

Bon pour votre demande remplacez simplement Tout le code par celui ci-dessous
Code:
Dim stpevt As Boolean
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or stpevt = True Then Exit Sub

With ListObjects(1)
    If Not Intersect(Target, .DataBodyRange) Is Nothing Then
        stpevt = True
        If WorksheetFunction.CountA(.DataBodyRange(Target.Row - .HeaderRowRange.Row, 9).Resize(, 1)) = 1 Then
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 2) = Format(CDate(Date), "dd/mm/yyyy")
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 16) = 1
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 3) = "Validé"
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 16) = 1
            .DataBodyRange(Target.Row - .HeaderRowRange.Row, 17) = "o"
            If .DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = vbNullString Then
                .DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = "DIRECT_" & Format(.ListRows.Count, "0000") 'Right("0000" & Trim(Str(NL - 1)), 4)
            End If
            '.DataBodyRange(Target.Row - .HeaderRowRange.Row, 1) = "DIRECT_" & Right("0000" & Trim(Str(NL - 1)), 4)
        End If
    End If
End With
stpevt = False
End Sub

Pour que vous voyiez j'ai désactivé une ligne à la fin du code. Vous pouvez la supprimer


Cordialement
Bonjour Dan,
Merci infiniment pour votre aide, c'est exactement ce que je cherchais. 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
609
Retour