Incrémenter une chaine alphanumérique

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 !

chaelie2015

XLDnaute Accro
Bonsoir FORUM
je cherche une formule qui fait incrémentation comme suite ( chercher le premier ou le dernier nombre) :
dans la cellule A j'ai une chaîne de caractère exemple (15A-3 )
dans la cellule B J'ai une liste ( oui ou non)
dans la cellule C J'ai une liste ( oui ou non)
Dans D je souhaite incrémenter le premier NOMBRE de la cellule A si B=oui ou incrémenter le dernier chiffre si C=oui.

Exemple1:
si A=15A-3 et B=oui
alors j'aurais dans D =16A-3 ( incrémenter le nombre 15)
et si dans C=oui alors j'aurai 15A-4 ( incrémenter le nombre 4)

Exemple 2 :
si A=19-2 et B=oui
alors j'aurais dans D =20-3 ( incrémenter le nombre 19)
et si dans C=oui alors j'aurai 19-3 ( incrémenter le nombre 2)
Salutations
 
Dernière édition:
Bonjour,

Une première approche sur le fichier joint.
Dommage que tu n'ais pas précisé tous les formats de chaines de caractères possibles.
Toujours le tiret"-" ?
Toujours que des caractères numériques après celui-ci ?
Pas toujours une lettre dans la premiere partie ?

Cordialement
Edit: un 2° fichier avec une solution pour le cas de lettres possibles dans la 2° partie
 

Pièces jointes

Dernière édition:
Bonjour chaelie2015, haonv, le forum,

Voyez le fichier joint et cette fonction VBA :
VB:
Function Incremente$(t$, incr1$, incr2$)
Dim i%, s, n%
incr1 = LCase(incr1): incr2 = LCase(incr2) 'minuscules
For i = Len(t) To 2 Step -1
    If IsNumeric(Mid(t, i, 1)) And Not IsNumeric(Mid(t, i - 1, 1)) Or _
        Not IsNumeric(Mid(t, i, 1)) And IsNumeric(Mid(t, i - 1, 1)) Then _
            t = Left(t, i - 1) & Chr(1) & Mid(t, i)
Next
s = Split(t, Chr(1))
For i = 0 To UBound(s)
    If IsNumeric(s(i)) And n < 2 Then s(i) = s(i) - (IIf(n, incr2, incr1) = "oui"): n = n + 1
    Incremente = Incremente & s(i)
Next
End Function
Le code doit être placé impérativement dans un module standard.

A+
 

Pièces jointes

- 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
2
Affichages
356
Réponses
7
Affichages
123
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
234
Réponses
72
Affichages
1 K
Retour