Numéro suivant sous excel 2019
Résolu
hellomargo
Messages postés
52
Date d'inscription
Statut
Membre
Dernière intervention
-
hellomargo Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
hellomargo Messages postés 52 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
je cherche le moyen de renseigner le numéro de la prochaine facture dans une cellule a partir d'un dossier existant nommé facture
les factures ce présentent sous la forme 000012,000013,000014 ETC....
merci
je cherche le moyen de renseigner le numéro de la prochaine facture dans une cellule a partir d'un dossier existant nommé facture
les factures ce présentent sous la forme 000012,000013,000014 ETC....
merci
Configuration: Windows / Chrome 86.0.4240.193
A voir également:
- Numéro suivant sous excel 2019
- Telecharger office 2019 - Télécharger - Traitement de texte
- Numero prive - Guide
- Liste déroulante excel - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Word et excel gratuit - Guide
12 réponses
bonjour as tu essayé
https://www.qwant.com/?q=vba+excel+num%C3%A9ro+suivant&t=web
ou encore
https://www.qwant.com/?q=vba+excel+identifiant+suivant&t=web
https://www.qwant.com/?q=vba+excel+num%C3%A9ro+suivant&t=web
ou encore
https://www.qwant.com/?q=vba+excel+identifiant+suivant&t=web
merci whismeril pour la reponse,
mon idée est d'aller chercher le numéro du dernier devis (au format pdf) qui est placé dans un dossier et y ajouter 1
mon idée est d'aller chercher le numéro du dernier devis (au format pdf) qui est placé dans un dossier et y ajouter 1
Bonjour,
Ce n'est possible que si ton fichier PDF est nommé que de chiffres comme ceci:
000012,000013,000014 ETC....
Se mettre sur la feuille concernée et faire Alt F11 pour accéder à l'éditeur.
Dans le ruban: Insertion - Module et mettre ce code:
Pour lancer la macro tu peux mettre un bouton, un raccourci clavier ou mettre le curseur sur
ouvrir et appuyer sur la touche F5 du clavier
ensuite tu enregistres le classeur sous: Classeur prenant en charge les macros
Voilà
Ce n'est possible que si ton fichier PDF est nommé que de chiffres comme ceci:
000012,000013,000014 ETC....
Se mettre sur la feuille concernée et faire Alt F11 pour accéder à l'éditeur.
Dans le ruban: Insertion - Module et mettre ce code:
Option Explicit Sub ouvrir() Dim fileToOpen As Variant Dim nomfic fileToOpen = Application _ .GetOpenFilename("PDF Files (*.pdf), *.pdf") If fileToOpen <> False Then nomfic = Dir(fileToOpen) nomfic = Split(nomfic, ".")(0) Range("A1").Value = nomfic + 1 Range("A1").NumberFormat = "000000" End If End Sub
Pour lancer la macro tu peux mettre un bouton, un raccourci clavier ou mettre le curseur sur
ouvrir et appuyer sur la touche F5 du clavier
ensuite tu enregistres le classeur sous: Classeur prenant en charge les macros
Voilà
bonjour cs_le pivert,
j'ai trouvé quelque chose qui ressemble a peu près a ce que je souhaite faire
https://forums.commentcamarche.net/forum/affich-36389108-if-sous-repertoire-contient
mais je n'arrive pas a l'adapter a mon"problème"
pour rappel je cherche a faire dernier numero facture +1
MERCI
j'ai trouvé quelque chose qui ressemble a peu près a ce que je souhaite faire
https://forums.commentcamarche.net/forum/affich-36389108-if-sous-repertoire-contient
mais je n'arrive pas a l'adapter a mon"problème"
pour rappel je cherche a faire dernier numero facture +1
MERCI
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oui j'ai essayé
mais je cherche a renseigner directement la cellule A1 avec le dernier numero de facture
mais je cherche a renseigner directement la cellule A1 avec le dernier numero de facture
Facture 000014 acompte monsieur le pivert Paris
il faut extraire la valeur numérique
voir ceci
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-P
@+
voir ceci
https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-P
@+
merci cs_le pivert
j'ai essayé d'adapter un code et j'en suis là:
mais dans la cellule j'ai 12345678901
Il doit me manquer un bout......
j'ai essayé d'adapter un code et j'en suis là:
Option Explicit
Sub aaaaaaaaaaa()
Dim n°Facture As String
n°Facture = NumeroFacture
'MsgBox n°Facture
End Sub
Private Function NumeroFacture() As String
Dim dossier As String
Dim sousDos As String
Dim nomPrenom As String
Dim cherche As String
Dim n°Facture As Integer
Dim maximum As Integer
Dim t() As String
Dim i As Long
Application.Volatile
ReDim t(1 To 1)
dossier = "C:\Users\moi\Documents\facture\"
sousDos = Dir(dossier, vbDirectory)
Do While sousDos <> ""
If sousDos <> "." And sousDos <> ".." Then
If (GetAttr(dossier & sousDos) And vbDirectory) = vbDirectory Then
i = i + 1
ReDim Preserve t(1 To i)
t(i) = dossier & sousDos & "\"
End If
End If
sousDos = Dir
Loop
cherche = Format(123456789, "000000")
For i = LBound(t) To UBound(t)
sousDos = Dir(t(i), vbDirectory)
Do While sousDos <> ""
If sousDos <> "." And sousDos <> ".." Then
If (GetAttr(t(i) & sousDos) And vbDirectory) = vbDirectory Then
If sousDos Like "*" & cherche & "??*" Then
n°Facture = Val(Left(Mid(sousDos, InStr(1, sousDos, cherche) + Len(cherche)), 2))
If n°Facture > maximum Then maximum = n°Facture
End If
End If
End If
sousDos = Dir
Loop
Next
NumeroFacture = cherche & Format(maximum + 1, "00")
End Function
mais dans la cellule j'ai 12345678901
Il doit me manquer un bout......
Pour ce qui est du code ci-dessus, demande des explications à celui qui l'a posté!
Je continue donc dans ma démarche, bien que j'en constate ton désintéressement.
J'ai donc nommé un fichier pdf : Facture 000014 acompte monsieur le pivert Paris et mis ce code qui fonctionne:
libre à toi de l'utiliser!
Bonne programmation
Je continue donc dans ma démarche, bien que j'en constate ton désintéressement.
J'ai donc nommé un fichier pdf : Facture 000014 acompte monsieur le pivert Paris et mis ce code qui fonctionne:
Option Explicit Dim nomfic As String Dim facture As String Sub ouvrir() Dim fileToOpen As Variant fileToOpen = Application _ .GetOpenFilename("PDF Files (*.pdf), *.pdf") If fileToOpen <> False Then nomfic = Dir(fileToOpen) nomfic = Split(nomfic, ".")(0) extraireValeursNumeriques_DansChaine Range("A1").Value = facture + 1 Range("A1").NumberFormat = "000000" End If End Sub Sub extraireValeursNumeriques_DansChaine() Dim i As Byte, Nb As Byte Dim Cible As String, Resultat As String Dim Nombre As Double Cible = nomfic 'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des 'virgules par des points Cible = Replace(Cible, ",", ".") 'Pour gérer deux nombres qui se suivent: remplacement des espaces 'par un caractère Alpha Cible = Replace(Cible, " ", "x") For i = 1 To Len(Cible) If IsNumeric(Mid(Cible, i, 1)) Then Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1)) Nb = Nb + 1 Resultat = Nombre i = i + Len(Str(Nombre)) - 1 End If Next facture = Resultat End Sub
libre à toi de l'utiliser!
Bonne programmation
au contraire je te remercie de prendre du temp pour me dépanner
ton code marche
mais (sans vouloir t'offenser) pourquoi ouvrir une fenêtre plutôt que de renseigner directement A1?
ton code marche
mais (sans vouloir t'offenser) pourquoi ouvrir une fenêtre plutôt que de renseigner directement A1?
La méthode la plus simple est de mettre le dernier numéro dans la feuille2
Une autre méthode consiste à parcourir tout le dossier où se trouve les PDF et trouver celui dont le numéro est le plus grand.
Je pense que c'est celui là dont tu fais allusion
Voici donc le code:
Voilà, si tu préfères cela à toi de voir
@+ Le Pivert
Une autre méthode consiste à parcourir tout le dossier où se trouve les PDF et trouver celui dont le numéro est le plus grand.
Je pense que c'est celui là dont tu fais allusion
Voici donc le code:
Option Explicit Dim monFichier As String Dim facture As String Sub listerLesFichiers() Dim chemin As String Dim nb As Integer nb = 0 ' On a besoin du chemin absolu du dossier ' Doit se terminer par \ chemin = "C:\Users\LePivert\Documents\Nouveau dossier\" ' adapter le chemin ' La fonction Dir(chemin, mode) permet de parcourir un dossier ' Ici je rajoute à mon chemin "*.pdf", ' pour ne retrouver que mes fichiers PDF ' vbNormal permet de ne récupérer que des fichiers, ' vbDirectory récupère tout (dossiers et fichiers) monFichier = Dir(chemin & "*.pdf", vbNormal) ' monFichier n'a récupéré que le premier élément trouvé ' j'ai donc besoin d'un boucle pour les retrouver un à un Do While monFichier <> "" extraireValeursNumeriques_DansChaine If nb < facture Then ' le plus grand nombre nb = facture End If ' Permet de passer au fichier suivant monFichier = Dir Loop Range("A1").Value = nb + 1 Range("A1").NumberFormat = "000000" End Sub Sub extraireValeursNumeriques_DansChaine() Dim i As Byte, nb As Byte Dim Cible As String, Resultat As String Dim nombre As Double Cible = monFichier 'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des 'virgules par des points Cible = Replace(Cible, ",", ".") 'Pour gérer deux nombres qui se suivent: remplacement des espaces 'par un caractère Alpha Cible = Replace(Cible, " ", "x") For i = 1 To Len(Cible) If IsNumeric(Mid(Cible, i, 1)) Then nombre = Val(Mid(Cible, i, Len(Cible) - i + 1)) nb = nb + 1 Resultat = nombre i = i + Len(Str(nombre)) - 1 End If Next facture = Resultat End Sub
Voilà, si tu préfères cela à toi de voir
@+ Le Pivert