If sous repertoire contient
Résolu
yanndebretagn
Messages postés
104
Statut
Membre
-
yanndebretagn Messages postés 104 Statut Membre -
yanndebretagn Messages postés 104 Statut Membre -
re le fofo,
Je cherche à faire :
Savoir si dans le dossier C :\Users\MOI\Documents\ENTREPRISE\devis\XYZ \devis n°19123001 monsieur PATATE PARIS CONTIENT 19123001
True
False
SACHANT QUE XYZ PEU ETRE TOUT ET N’IMPORTE QUOI genre YZX
help me
Je cherche à faire :
Savoir si dans le dossier C :\Users\MOI\Documents\ENTREPRISE\devis\XYZ \devis n°19123001 monsieur PATATE PARIS CONTIENT 19123001
True
False
SACHANT QUE XYZ PEU ETRE TOUT ET N’IMPORTE QUOI genre YZX
help me
A voir également:
- If sous repertoire contient
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Ce fichier contient l'historique des livres empruntés à la bibliothèque. combien de titres différents contient-il ? ✓ - Forum Excel
- Formule sheet si contient ✓ - Forum Excel
- Si cellule contient texte alors ✓ - Forum Excel
- Bibliothèque ✓ - Forum Windows 10
25 réponses
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...
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
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...
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é :
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