Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Incrémentation petit souci ; RESOLU

Don pépé

XLDnaute Occasionnel
Bien le Bonjour

Voila je vien vers vous car j'ai un petit souci avec une incrémentation, sa ne s'incrémente pas

VB:
Sub Imprimer()
ActiveWindow.SelectedSheets.PrintOut copies:=2
If Left(Range("I2"), 6) = "Fact" & Format(Now(), "yymm") Then
    Range("I2") = Left(Range("I2"), 6) & Format(CInt(Right(Range("I2"), 2)) + 1, "00")
Else
    Range("I2") = "Fact" & Format(Now(), "yymm") & "01"
End If
End Sub

si quelqu'un peux m'aider sa serais kool
merci pour votre aide
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Vous comparez les 6 premier caractères de gauche de quelque chose avec une expression String qui en fait 8.
Ça ne peut donc jamais être égal !

Edit: Salut job75.
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Don pépé,

Il suffit de savoir compter jusqu'à 8 :
Code:
Sub Imprimer()
ActiveWindow.SelectedSheets.PrintOut copies:=2
If Left(Range("I2"), 8) = "Fact" & Format(Now(), "yymm") Then
    Range("I2") = Left(Range("I2"), 8) & Format(Right(Range("I2"), 2) + 1, "00")
Else
    Range("I2") = "Fact" & Format(Now(), "yymm") & "01"
End If
End Sub
Edit : salut Bernard, je ne t'avais pas vu...

A+
 

job75

XLDnaute Barbatruc
Re,

On peut écrire plus simplement :
Code:
Sub Imprimer()
ActiveWindow.SelectedSheets.PrintOut copies:=2
Range("I2") = "Fact" & Format(Now(), "yymm") & Format(Val(Mid(Range("I2"), 9)) + 1, "00")
End Sub
A+
 

job75

XLDnaute Barbatruc
Re,

Je venais d'y penser :
Code:
Sub Imprimer()
ActiveWindow.SelectedSheets.PrintOut copies:=2
[I2] = "Fact" & Format(Now(), "yymm") & Format(IIf(Format(Now(), "yymm") = Mid([I2], 5, 4), Val(Mid([I2], 9)) + 1, 1), "00")
End Sub
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…