Incrementation valeurs alpha numerique

  • Initiateur de la discussion Initiateur de la discussion Kubrix
  • Date de début Date de début

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 !

Kubrix

XLDnaute Nouveau
Bonjour,

Après avoir chercher (longtemps)en vain une solution à mon problème, je me tourne vers vous.

En effet je souhaite incrémenter une valeur alphanum de 4 caractères MAX.

Vous me direz, rien de plus facile. Mais pas pour moi...

En effet, j'ai réussi a créer une fonction qui faisait une incrémentation de :
0000
0001
....
0009
0010
....
0099
00A1

Mais je souhaite avoir une incrémentation de type :
0000
0001
....
0009
000A
....
000Z
....
0010
....
0019
001A
....
001Z
....
ZZZZ

De plus, comme montrer sur l'ex, ces valeurs doivent être sur plusieurs colonnes
Étant donné que j'ai 36^4 valeurs a générer votre aide serait la bienvenue

En espérant avoir été clair

Cordialement,

Aurélien
 

Pièces jointes

Re : Incrementation valeurs alpha numerique

Bonjour seph71 et bienvenue sur le forum,


Voici un début de piste :

Cette fonction prend en paramètre un code (alphanumérique donc) et renvoie le code suivant :
VB:
Public Function CodeSuivant(ancienCode As String) As String
Dim iC As Long, incr As Boolean

    For iC = Len(ancienCode) To 1 Step -1
        If incr Then
            CodeSuivant = CodeSuivant & Mid(ancienCode, iC, 1)
        Else
            If Mid(ancienCode, iC, 1) = "Z" Then
                CodeSuivant = CodeSuivant & "0"
            Else
                CodeSuivant = CodeSuivant & Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", InStr("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", Mid(ancienCode, iC, 1)) + 1, 1)
                incr = True
            End If
        End If
    Next iC
    CodeSuivant = StrReverse(CodeSuivant)
End Function
a+
 
Dernière édition:
Re : Incrementation valeurs alpha numerique

Re,

Et voici l'ensemble :
VB:
Public Sub AjouterCode()
Dim iT As Long, jT As Long, i As Long, nC As String, aC As String
    aC = "ZZZZ"
    For iT = 3 To 127 Step 31
        For jT = 8 To 24 Step 8
            For i = 0 To 29
                If Cells(iT, jT).Offset(i, -1) <> "" Then
                    nC = CodeSuivant(aC)
                    Cells(iT, jT).Offset(i, 0).Value = nC
                    aC = nC
                End If
            Next i
        Next jT
    Next iT
End Sub



Private Function CodeSuivant(ancienCode As String) As String
Dim iC As Long, incr As Boolean

    For iC = Len(ancienCode) To 1 Step -1
        If incr Then
            CodeSuivant = CodeSuivant & Mid(ancienCode, iC, 1)
        Else
            If Mid(ancienCode, iC, 1) = "Z" Then
                CodeSuivant = CodeSuivant & "0"
            Else
                CodeSuivant = CodeSuivant & Mid("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", InStr("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", Mid(ancienCode, iC, 1)) + 1, 1)
                incr = True
            End If
        End If
    Next iC
    CodeSuivant = StrReverse(CodeSuivant)
End Function
a+
 
Dernière édition:
Re : Incrementation valeurs alpha numerique

Dans 1 premier temps, merci pour l'accueil...

Et ensuite merci pour les reponses, cela fonctionne bien sur le fichier que j'avais joint

J'ai juste besoin de l'adapter sur tous les fichiers concernés

Si g encore des soucis je vous ferais signe

Cordialement,
 
- 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

C
Réponses
11
Affichages
2 K
Chaine
C
Retour