Incrementer un indice en VBA

Bonjour à toutes et à tous , je viens à vous car je rencontre une petite difficulté...

Je souhaite faire varier mon indice _00 à _01 etc. Voici mon programme:

Sub Indice()
With Sheets("Feuil3")
Range("A1").Select
Range("B1").Select

End With

'ActiveCell.FormulaR1C1 = "_"
Range("A1").Value = "_"
Range("B1").Value = "00"

Var = Cells(Rows.Count, 1).End(xlUp).Row + 1

Range("A" & Var).Value = Range("A1" & Var - 1).Value + " "
Range("A1" & Var).Activate

Range("B" & Var).Value = Range("B1" & Var - 1).Value + " "
Range("B1" & Var).Activate

Range("C" & Var).Value = Range("A1").Value & Range("B1").Value
Range("C1" & Var).Activate

End Sub

Quel est le soucis?

Je vous remercie.

Edit modo : Mis code entre balises. Pour la prochaine fois pensez à utiliser les balises de codes disponibles dans le menu en cliquant sur l'icone </>.

Bonjour

Heu vous voulez quoi comme résultat en fait ?

en A1 vous avez _
en B1 vous avez 0

Crdlt

bonjour Sid, le forum,

voici une adaptation du code en gardant l'esprit du code original, (mais il y a moyen de faire beaucoup plus simple).

Sub Indice()
    With Sheets("Feuil3")
        Var = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        .Range("A" & Var) = "_"
        .Range("B" & Var).Value = .Range("B" & Var - 1).Value + 1
        .Range("C" & Var).Value = .Range("A" & Var).Value & Format(.Range("B" & Var).Value, "00")
    End With
End Sub

Merci pour votre précieuse aide, j'ai tenté et ça a bien donner ce résultat.

Dan pour vous répondre, je souhaite obtenir la valeur _01 à la condition que le _00 est déjà existant, suis-je clair….?

je souhaite incrémenter ma cellule "01234_00-OF00001" en "01235_00-OF00001" puis "01236_00-OF00001"
et créer une condition que si "01234_00-OF00001" est déjà existant alors on créer "01234_01-OF00001"

Voici ce que j'ai rédigé, mais ca ne marche pas...

Sub INCR()

Dim cell As Range
Dim currentValue As String
Dim NV As String

Range("A1").value = "01234"
Range("B1").value = "_"
Range("C1").value = "00"
Range("D1").value = "-OF00001"

Set cell = Range("A1")
currentValue = cell.value

If currentValue = "01234_00-OF00001" Then
NV = "01234_01-OF00001"
End If
Cells.value = NV
End Sub

Function INCR(ByVal value As String) As String
Dim A As String
Dim B As String
Dim NB As Long

A = Left(value, 6)
B = Mid(value, 8, 2)

NB = CLng(number) + 1

INCR = A & Format(NB, "00") & Mid(value, 10)
End Function

Je vous remercie

Re

Deuxième fois pour la même remarque, je vous ai demandé précédemment d'utiliser les balises de code pour placer vos codes dans votre fil.--> https://forum.excel-pratique.com/s/goto/1175491

Apparemment vous ne lisez pas ou vous ne voulez pas....

Merci de corriger votre post en cliquant sur le petit crayon en haut à droite dans votre post.

Bien entendu, je prends note, la prochaine fois je mettrai ça en format code

comme ceci par exemple:

For Each cell In Range("F2:F50:F" & Cells(Rows.Count, "F").End(xlUp).Row)
        With cell.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="Fabriqué,Acheté"
            .IgnoreBlank = True
            .InCellDropdown = True
            .ShowInput = True
            .ShowError = True
        End With
    Next cell

Je vous remercie

Re

A la lecture de votre code je comprends que vous avez des infos en ligne 1 (A1; B1 C1 et D1)
Après je ne vois pas ce que vous voulez
Vous écrivez

je souhaite incrémenter ma cellule "01234_00-OF00001" en "01235_00-OF00001" puis "01236_00-OF00001" et créer une condition que si "01234_00-OF00001" est déjà existant alors on créer "01234_01-OF00001"

Ok mais quelle cellule ? Où sur votre feuille

Puis vous mettez un code dans votre dernier post --> https://forum.excel-pratique.com/s/goto/1175750
Quel est le rapport avec vos posts précédents ??

Désolé mais c'est nébuleux pour moi

Plus simple.....

Crdlt

Rechercher des sujets similaires à "incrementer indice vba"