Bonjour à tous,
Je souhaite rendre unique chacune des tâches de mon tableau par le biais du codification ALPHA-NUMERIQUE spécifique du type REFERENCE+"INDICE&VARIANTE" :
CB-01-00-00AAA
En cas de doublon, cette codification prévois une incrémentation ALPHA-NUMERIQUE là aussi (00AAA).
Le code indice+variant 00AAA est composé de 2 digits NUM à incrémenter de 1 en 1, et quand on arrive à 99, les 3 digits lettres sont à incrémenter comme suit : 99AAA à 01AAB. (pas de 00AAx).
Une fois réalisée cette codification identifiera la tâche et la rendra unique. Il ne faudra dont pas qu’elle évolue (en particulier l’incrémentation du code indice+variant). Donc trouver la méthode qui va bien pour que le calcule s’arrête sur condition remplie. Je vous joins un extract du volumineux fichier.
J’ai essayé toutes les formules que je connaissais mais je tombe toujours sur des boucles alors j’ai pensé à un bout de VBA. Mais ma connaissance ne semble pas assez pointue pour trouver le code entier répondant au besoin.
Je remercie d'avance toute les bonnes âmes qui se pencherons sûr cette codification bien alambiquée.
Voici un début provenant d’un autre outil :
' ***** INCREMENTATION ALPHABETIQUE ****
Function incralpha(s)
pl = Len(s)
If Right(s, 1) = "Z" Then
If pl = 1 Then
incralpha = "AA"
Else
incralpha = incralpha(Left(s, pl - 1)) & "A"
End If
Else
incralpha = Left(s, pl - 1) & Chr(Asc(Right(s, 1)) + 1)
End If
End Function
Je souhaite rendre unique chacune des tâches de mon tableau par le biais du codification ALPHA-NUMERIQUE spécifique du type REFERENCE+"INDICE&VARIANTE" :
CB-01-00-00AAA
En cas de doublon, cette codification prévois une incrémentation ALPHA-NUMERIQUE là aussi (00AAA).
Le code indice+variant 00AAA est composé de 2 digits NUM à incrémenter de 1 en 1, et quand on arrive à 99, les 3 digits lettres sont à incrémenter comme suit : 99AAA à 01AAB. (pas de 00AAx).
Une fois réalisée cette codification identifiera la tâche et la rendra unique. Il ne faudra dont pas qu’elle évolue (en particulier l’incrémentation du code indice+variant). Donc trouver la méthode qui va bien pour que le calcule s’arrête sur condition remplie. Je vous joins un extract du volumineux fichier.
J’ai essayé toutes les formules que je connaissais mais je tombe toujours sur des boucles alors j’ai pensé à un bout de VBA. Mais ma connaissance ne semble pas assez pointue pour trouver le code entier répondant au besoin.
Je remercie d'avance toute les bonnes âmes qui se pencherons sûr cette codification bien alambiquée.
Voici un début provenant d’un autre outil :
' ***** INCREMENTATION ALPHABETIQUE ****
Function incralpha(s)
pl = Len(s)
If Right(s, 1) = "Z" Then
If pl = 1 Then
incralpha = "AA"
Else
incralpha = incralpha(Left(s, pl - 1)) & "A"
End If
Else
incralpha = Left(s, pl - 1) & Chr(Asc(Right(s, 1)) + 1)
End If
End Function