Macro variable d'une cellule

Bonjour,

Pour quelque chose qui me paraissait relativement simple, je n'arrive pas à trouver une solution.

Je souhaiterais via une macro, quand j'utilise le bouton que la référence REF2017-93P3N passe à REF2017-94P3N, REF2017-95P3N,....

Je vous remercie par avance de l'attention que vous porterez à mon problème

10essai-amcro.xlsx (11.34 Ko)

Bonjour Grorkal.

Tu ne proposes pas ton code pour qu'on puisse le corriger ..

Tu peux essayer ce code :

Sub incrementation()
Dim k1 As Byte, k2 As Byte
Dim num%, txt$

txt = [a3].Value
k1 = InStr(txt, "-")
k2 = InStr(txt, "P3")
num = Mid(txt, k1 + 1, (k2 - k1) - 1)
txt = "REF2017-" & num + 1 & "P3N"
[a3].Value = txt
End Sub

Bonjour, Salut Benoît !

Autre façon de faire (pour le fun... )

Sub Incrémenter()
    Dim tx, v
    With ActiveSheet.Range("A3")
        tx = Split(.Value, "-")
        v = Val(tx(1))
        tx(1) = Replace(tx(1), CStr(v), v + 1)
        .Value = Join(tx, "-")
    End With
End Sub

Cordialement.

Autre façon de faire (pour le fun... )

Mais attention, après REF2017-3P3N ça donnera REF2017-4P4N

Judicieuse remarque de Patrice !

Donc petite rectif. pour empêcher ça :

Sub Incrémenter()
    Dim tx, v
    With ActiveSheet.Range("A3")
        tx = Split(.Value, "-")
        v = Val(tx(1))
        tx(1) = Replace(tx(1), CStr(v), v + 1, 1, 1)
        .Value = Join(tx, "-")
    End With
End Sub
Rechercher des sujets similaires à "macro variable"