If sous repertoire contient - Page 2
Résolu
Précédent
- 1
- 2
-
bonjour patrice,
ben non, imaginons que nom_prénom soit en B4
B4 concerne qu'un nouveau client donc
nomPrenom = Worksheets("renseignement client").Range("B4").Value
ce n'est pas bon
imaginons que je fais un devis le 04/01/2020 pour monsieur patate qui habite paris
le devis sera enregistré dans
C :\Users\MOI\Documents\ENTREPRISE\devis\patate jean-luc\devis n°20010401 monsieur PATATE PARIS
si c'est le premier devis de la journée
pour le 2ème pour monsieur tartempion qui habite Marseille
le devis sera enregistré dans
C :\Users\MOI\Documents\ENTREPRISE\devis\tartempion jean-marie\devis n°20010402 monsieur PATATE Marseille
je ne c pas si c très claire... -
Oui, c'est plus clair (avec toujours la même formule en B22) :
Option Explicit Sub Test() Dim n°devis As String n°devis = NumeroDevis MsgBox n°devis End Sub Private Function NumeroDevis() As String Dim dossier As String Dim sousDos As String Dim nomPrenom As String Dim cherche As String Dim n°devis As Integer Dim maximum As Integer Dim t() As String Dim i As Long Application.Volatile dossier = "C :\Users\MOI\Documents\ENTREPRISE\devis\" dossier = ThisWorkbook.Path & "\Tmp\" 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(Date, "yymmdd") 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°devis = Val(Left(Mid(sousDos, InStr(1, sousDos, cherche) + Len(cherche)), 2)) If n°devis > maximum Then maximum = n°devis End If End If End If sousDos = Dir Loop Next NumeroDevis = cherche & Format(maximum + 1, "00") End Function -
l'indice n’appartient pas a la sélection ligne:
For i = LBound(t) To UBound(t) -
bonjour,
tjrs pas
la textbox ce lance avec 20010501 marqué dedans qu'il est ou pas un dossier, un sous dossier nommé ou qui contient déja 20010501
j'imagine que si C :\Users\MOI\Documents\ENTREPRISE\devis\patate jean-luc\devis n°20010501 monsieur PATATE PARIS existait
la textbox devrait indiqué 20010502
au rage, au désespoir...-
Ce code fonctionne parfaitement chez moi, mais j'ai encore oublié de supprimer la ligne qui sert chez moi et l'espace après le C.
Si tu avais regardés le code de plus près, tu aurais du d'en rendre compte !
Je trouve que tu ne fais pas beaucoup d'effort pour déboguer !
Le code corrigé :Option Explicit Sub Test() Dim n°devis As String n°devis = NumeroDevis MsgBox n°devis End Sub Private Function NumeroDevis() As String Dim dossier As String Dim sousDos As String Dim nomPrenom As String Dim cherche As String Dim n°devis 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\ENTREPRISE\devis\" 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(Date, "yymmdd") 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°devis = Val(Left(Mid(sousDos, InStr(1, sousDos, cherche) + Len(cherche)), 2)) If n°devis > maximum Then maximum = n°devis End If End If End If sousDos = Dir Loop Next NumeroDevis = cherche & Format(maximum + 1, "00") End Function
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
MERCI ça marche
l'espace après le c celui là je l'avais
après c vrai que j'aurai pu virer la ligne
maintenant je vais essayer d'intégrer le numéro de devis dans b22 automatiquement (tout seul comme un grand)
mille merci patrice pour ta patience et heureux d'avoir croisé ton chemin
Précédent
- 1
- 2