OVH Cloud OVH Cloud

Espoir d'une réponse ( je galère )

6 réponses
Avatar
DC
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "\", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC

6 réponses

Avatar
Daniel
Tu as mis "cllient" au lieu de "client dans :
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"
Daniel
"DC" a écrit dans le message de news:
436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC





Avatar
Hervé
Bonsoir,
Voilà la preuve qu'il est plus prudent de déclarer les variables
explicitement et non implicitement :o((
Hervé.

"Daniel" a écrit dans le message de news:

Tu as mis "cllient" au lieu de "client dans :
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"
Daniel
"DC" a écrit dans le message de news:
436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC









Avatar
michdenis
Effectivement DC,

C'est une très belle macro ! ;-)

Pour ton problème de compteur, si tu utilises ceci, tu sera certain de ne jamais avoir 2 noms de facture identique

Compteur = Format(Now, "d/MM/yy hh mm ss")


Salutations!



"DC" a écrit dans le message de news: 436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC
Avatar
DC
Bonjour à tous.................Bonjour michdenis,

Merci...!! de me répondre,

Je m'adresse à toi michdenis, par respect, car cette très belle macro ...!
est née de ton esprit............donc par correction, je t'informe du
résultat, des petites adaptations,

J'ai donc tenu compte de ton conseil et celui de Daniel au sujet de
"Client en remplacement de Cllient"

Résultat : = fenêtre VB........Erreur d'éxécution'13'........Incompatibilité
de Type.........et surbrillance du Débogueur Compteur = Format(Now, "d/MM/yy hh mm ss")

'-----------------------------------------------
Sub Enregistrement_Mdenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
Client = .Range("A1") ' Nom du client
'Compteur = .Range("A2") ' Numéro du compteur

Compteur = Format(Now, "d/MM/yy hh mm ss")

For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAs Chemin & Client & Compteur & ".xls"

End Sub
'-----------------------------------------------------------

Salutations!..............encore Merci..............DC

"michdenis" a écrit dans le message de news:
%
Effectivement DC,

C'est une très belle macro ! ;-)

Pour ton problème de compteur, si tu utilises ceci, tu sera certain de ne
jamais avoir 2 noms de facture identique

Compteur = Format(Now, "d/MM/yy hh mm ss")


Salutations!



"DC" a écrit dans le message de news:
436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC






Avatar
michdenis
Bonjour DC,

Tu as parfaitement raison :
Compteur = Format(Now, "d/MM/yy hh mm ss")

Ceci devrait se lire comme suit :

Compteur = Format(Now, "d-MM-yy hh mm ss")

Un nom de fichier ne peut pas contenir dans sa chaîne de caractères le symbole "/"... c'est d'ailleurs pour ça que j'ai introduit
dans le format de fichier "", c'était pour m'assure que le séparateur de date "/" soit obligatoirement remplacé par le "-" ... mais
comme je suis distrait, tu connais la suite ...;-)



Salutations!




"DC" a écrit dans le message de news: 436c855b$0$17061$
Bonjour à tous.................Bonjour michdenis,

Merci...!! de me répondre,

Je m'adresse à toi michdenis, par respect, car cette très belle macro ...!
est née de ton esprit............donc par correction, je t'informe du
résultat, des petites adaptations,

J'ai donc tenu compte de ton conseil et celui de Daniel au sujet de
"Client en remplacement de Cllient"

Résultat : = fenêtre VB........Erreur d'éxécution'13'........Incompatibilité
de Type.........et surbrillance du Débogueur Compteur = Format(Now, "d/MM/yy hh mm ss")

'-----------------------------------------------
Sub Enregistrement_Mdenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
Client = .Range("A1") ' Nom du client
'Compteur = .Range("A2") ' Numéro du compteur

Compteur = Format(Now, "d/MM/yy hh mm ss")

For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAs Chemin & Client & Compteur & ".xls"

End Sub
'-----------------------------------------------------------

Salutations!..............encore Merci..............DC

"michdenis" a écrit dans le message de news:
%
Effectivement DC,

C'est une très belle macro ! ;-)

Pour ton problème de compteur, si tu utilises ceci, tu sera certain de ne
jamais avoir 2 noms de facture identique

Compteur = Format(Now, "d/MM/yy hh mm ss")


Salutations!



"DC" a écrit dans le message de news:
436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC






Avatar
DC
Bonsoir à tous.........................Bonsoir michdenis,

Euréka...!!...........Merci...!!........C'est parfait,

J'avoue être un peut casse pied, je ne sais même pas localiser les petites
interventions, j'ais beau persiter, je ne vois rien et c'est toujours après
que.......enfin bref...!!

Salutations!.........encore Merci...!!........bon WE..........DC

"michdenis" a écrit dans le message de news:

Bonjour DC,

Tu as parfaitement raison :
Compteur = Format(Now, "d/MM/yy hh mm ss")

Ceci devrait se lire comme suit :

Compteur = Format(Now, "d-MM-yy hh mm ss")

Un nom de fichier ne peut pas contenir dans sa chaîne de caractères le
symbole "/"... c'est d'ailleurs pour ça que j'ai introduit
dans le format de fichier "", c'était pour m'assure que le séparateur de
date "/" soit obligatoirement remplacé par le "-" ... mais
comme je suis distrait, tu connais la suite ...;-)



Salutations!




"DC" a écrit dans le message de news:
436c855b$0$17061$
Bonjour à tous.................Bonjour michdenis,

Merci...!! de me répondre,

Je m'adresse à toi michdenis, par respect, car cette très belle macro ...!
est née de ton esprit............donc par correction, je t'informe du
résultat, des petites adaptations,

J'ai donc tenu compte de ton conseil et celui de Daniel au sujet de
"Client en remplacement de Cllient"

Résultat : = fenêtre VB........Erreur
d'éxécution'13'........Incompatibilité
de Type.........et surbrillance du Débogueur > Compteur = Format(Now, "d/MM/yy hh mm ss")

'-----------------------------------------------
Sub Enregistrement_Mdenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
Client = .Range("A1") ' Nom du client
'Compteur = .Range("A2") ' Numéro du compteur

Compteur = Format(Now, "d/MM/yy hh mm ss")

For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAs Chemin & Client & Compteur & ".xls"

End Sub
'-----------------------------------------------------------

Salutations!..............encore Merci..............DC

"michdenis" a écrit dans le message de news:
%
Effectivement DC,

C'est une très belle macro ! ;-)

Pour ton problème de compteur, si tu utilises ceci, tu sera certain de ne
jamais avoir 2 noms de facture identique

Compteur = Format(Now, "d/MM/yy hh mm ss")


Salutations!



"DC" a écrit dans le message de news:
436b9b63$0$17203$
Bonsoir à tous,................( Excel 2000 sous XP )

Voilà, une belle macro, elle fonctionne bien, mais le problème
c'est le nom du client et le compteur,

L'enregistrement prend le bon chemin, mais toujours sur le numèro " 0 "
et c'est son seul nom, ( j'avoue que le compteur n'a rien d'impératif ),
je pourrais même m'en passer, par contre le nom du Client se doit
d'ètre remplacer au cour de chaque éxécution de la macro.

J'ai certainement loupé quelque chose, mais quoi...??
j'ai bien nommé les 2 cellules : "Client" et "Compteur "sur la feuil3
...........mais bon...........( problème des non initiés )

'--------------------------------------------------------------------
Sub Enregistrement_MDenis()

Dim Char As Variant, Client As String
Dim M As String, Compteur As Long
Dim Chemin As String

Chemin = ThisWorkbook.Path & Application.PathSeparator

Char = Array(":", "[", "]", "/", "", "*", "?")

With Worksheets("Feuil3")
'***************************************
Client = .Range("A1") ' Nom du client
Compteur = .Range("A2") ' Numéro du compteur
'***************************************
For Each elt In Char
If InStr(1, Client, elt, vbTextCompare) <> 0 Then
M = M & """" & elt & """" & " , "
End If
Next
If M <> "" Then
M = Left(M, Len(M) - 3)
MsgBox "Le nom du client contient des " & vbCrLf & _
"caractères inappropriés: " & M & " ." & vbCrLf _
& vbCrLf & "Corriger.", vbInformation + vbOKOnly, _
"Attention"
.Range("A1").Select
Exit Sub
End If
End With
ThisWorkbook.SaveAS Chemin & cllient & Compteur & ".xls"

End Sub
'----------------------------------------------------------------

Salutation!...................Merci d'avance.................DC