Commande "range"
Résolu
Émilie
-
Émilie -
Émilie -
Bonjour,
Dans une cellule excel ou j'ai un numéro de facture que je veux incrémenter à chaque ouverture j'ai mis dans VBA la prog suivante :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("no_facture").Value = Range("no_facture").Value + 1
End Sub
Le problème maintenant est que je voudrais rajouter des lettres. Exemple mon numéro de facture pourrait être ABCD20080001. Il faudrait à ce moment que puisse extraire les quatres derniers chiffres auxquels je rajouterais la valeur 1 à chaque ouverture (comme "droite" dans excel). Est-ce que quelqu'un peut m'aider. Merci
Dans une cellule excel ou j'ai un numéro de facture que je veux incrémenter à chaque ouverture j'ai mis dans VBA la prog suivante :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("no_facture").Value = Range("no_facture").Value + 1
End Sub
Le problème maintenant est que je voudrais rajouter des lettres. Exemple mon numéro de facture pourrait être ABCD20080001. Il faudrait à ce moment que puisse extraire les quatres derniers chiffres auxquels je rajouterais la valeur 1 à chaque ouverture (comme "droite" dans excel). Est-ce que quelqu'un peut m'aider. Merci
A voir également:
- Commande "range"
- Invite de commande - Guide
- Commande terminal mac - Guide
- Commande dism - Guide
- Diskpart commande - Guide
- Commande scannow - Guide
1 réponse
Bonjour,
Remplace ta procédure par la suivante. Il faut que les quatre derniers caractères soit obligatoirement des chiffres.
A+.
Remplace ta procédure par la suivante. Il faut que les quatre derniers caractères soit obligatoirement des chiffres.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim facture As String, numero As String, N As Integer facture = Range("no_facture").Value 'initialiser facture N = Val(Right(facture, 4)) 'convertir 4 derniers caractères en nombre N = N + 1 + 10000 'ajouter 10000 pour avoir un nombre à 5 chiffres numero = Right(Str(N), 4) 'récuperer les 4 deriners chiffres facture = Left(facture, Len(facture) - 4) & numero 'recomposer facture Range("no_facture").Value = facture End Sub
A+.
Émilie
Bonjour Amigo. Tout a fonctionné comme voulu. Bonne journée.