Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31
Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour,
Tu ne pourras pas ouvrir un fichier si tu ne connais pas son nom exact.
Il n'est donc pas possible de remplacer la ligne par quelque chose de
simple.
La recherche du nom complet est très exactement ce que fait le fichier
que j'avais joint. Si tu as 15 comme argument dans (fich), la macro
cherche un fichier de ton chemin (D:...devis) dont une partie du nom
est un espace suivi de 15.xls
Comme il ne devrait à priori y avoir qu'un seul fichier répondant à ce
critère, ce fichier est ouvert et le reste de la macro pour la facture
s'execute. Dans le cas où aucun fichier ne serait trouve ou bien si
plusieurs fichiers correspondent, tu retrouves ton message d'erreur.
Si tu souhaites plus d'explications, dis-moi.
Soit dit entre nous, ce que tu développes mériterait une base de données
simple.
@+
FxMBonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour,
Tu ne pourras pas ouvrir un fichier si tu ne connais pas son nom exact.
Il n'est donc pas possible de remplacer la ligne par quelque chose de
simple.
La recherche du nom complet est très exactement ce que fait le fichier
que j'avais joint. Si tu as 15 comme argument dans (fich), la macro
cherche un fichier de ton chemin (D:...devis) dont une partie du nom
est un espace suivi de 15.xls
Comme il ne devrait à priori y avoir qu'un seul fichier répondant à ce
critère, ce fichier est ouvert et le reste de la macro pour la facture
s'execute. Dans le cas où aucun fichier ne serait trouve ou bien si
plusieurs fichiers correspondent, tu retrouves ton message d'erreur.
Si tu souhaites plus d'explications, dis-moi.
Soit dit entre nous, ce que tu développes mériterait une base de données
simple.
@+
FxM
Bonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31
Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxM
Bonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31
Bonjour,
Tu ne pourras pas ouvrir un fichier si tu ne connais pas son nom exact.
Il n'est donc pas possible de remplacer la ligne par quelque chose de
simple.
La recherche du nom complet est très exactement ce que fait le fichier
que j'avais joint. Si tu as 15 comme argument dans (fich), la macro
cherche un fichier de ton chemin (D:...devis) dont une partie du nom
est un espace suivi de 15.xls
Comme il ne devrait à priori y avoir qu'un seul fichier répondant à ce
critère, ce fichier est ouvert et le reste de la macro pour la facture
s'execute. Dans le cas où aucun fichier ne serait trouve ou bien si
plusieurs fichiers correspondent, tu retrouves ton message d'erreur.
Si tu souhaites plus d'explications, dis-moi.
Soit dit entre nous, ce que tu développes mériterait une base de données
simple.
@+
FxMBonjour FxM
Remerci pour ton courrié.
Je pèche par manque d'explications, (mia culpa) lorsque je fais un devis,
actuèlement, j'enregistre le classeur sous son N° de devis à savoir,
Wk.SaveAs "D:lm constructionDevis" & [I2] & ".xls". Dans mon répertoire
devis,
il est référencé sous: 15.xls. Cela fonctionne bien. Mais pour une meilleure
recherche de mes devis si je dois les modifiers, je souhaite les enregistrer
comme suit:
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Ce qui me donnerai: M.DURANT 15.XLS. D'ou ma question, comment modifier
cette ligne: Workbooks.Open Chemin & Fich & ".xls" pour afficher mon devis en
mode facture en ne préssisent que son N° sans tenir compte du nom Exemple en
J4 je rentre 15 et je fais entrer.
PS B11 étant le nom de la personne et I2 le N° du devis.
Merci encore pour ton aide et bonne fin de W E.
Peponne31Bonsoir,
Je crains d'avoir manqué une étape ... Tu indiquais ne connaître que le
numéro sans le nom associé. Mais le fait que tu passes fich en argument
dans ta macro suppose que tu l'aies trouvé. Là, c'est le chat qui se
mord la queue, non ?
Considérant que fich est le numéro du devis (attention 232 est différent
de 0232 !), ca pourrait donner http://cjoint.com/?fhxgOgdCBv
@+
FxMBonsoir à toutes et à tous,
Ayant enregistré un feuille par son nom suivie de son N°
Wk.SaveAs "D:sarl lm constructionDevis" & [B11] & Chr(32) & [I2] & ".xls"
Je voudrais la reouvrir en entrent son N° mais pas le nom. Que faut-il
changer dans la ligne: Workbooks.Open Chemin & Fich & ".xls"
ou par quoi remplacer & Fich &
Merci de bien vouloir m'aider.
Peponne31
Bonjour,
Quelque chose comme :
Sub test()
Set fs = Application.FileSearch
With fs
.LookIn = chemin
.Filename = Chr(32) & numero & ".xls"
.SearchSubFolders = True
.Execute
Tag = False
Select Case .FoundFiles.Count
Case 0
MsgBox "aucun fichier trouvé"
Case 1
fichier = .FoundFiles.Item(1)
Tag = True
Case Else
MsgBox "plusieurs fichiers trouvés !"
End Select
End With
If Tag = True Then Workbooks.Open fichier
End Sub
@+
FxM
Bonsoir FxM
Merci pour ta réponse mais elle ne me va pas, je voudrais juste modifier ma
ligne pour pouvoir ouvrir la feuille par le numéro de devis sous laqu'elle
elle est enregistrée. Voici le code en entier:Sub RecopieDevis(Fich)
'Met la date aujourdhui
Range("I12").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value
'Transforme aujourdhui () en valeur
Range("date").Select
ActiveCell.Value = ActiveCell.Value
Dim Chemin As String, Ctr As Integer, Plage As Range, c As Range
Dim NoFacture As Integer, Feuille As String
'Dim message
Chemin = "D:lm constructionDevis"
Ctr = 21
'Permet de contrôler si un numéro de devis existe
'Err = 0
'On Error Resume Next
On Error GoTo GestionErreur
Workbooks.Open Chemin & Fich & ".xls"
GestionErreur:
If r = 1004 Then
zz_Clignote
Message = MsgBox("Ce N° de Devis n'existe pas !", ,
"lmconstruction")
Range("J4").Select.ClearContents
Range("J4").Activate
ActiveSheet("Facture1page").Range("J4").ClearContents
Else
NoFacture = Workbooks("lm
construction.xls").Sheets("JournalVentes").Range("A2")
End If
Feuille = ActiveSheet.Name
With Workbooks("lm construction.xls").Sheets("Facture1page")
.Range("fnomcli") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dnomcli1")
.Range("numfacture") = NoFacture
.Range("frue1") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue1")
.Range("frue2") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("frue2")
.Range("fville") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("fville")
.Range("fcp") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("fcp")
.Range("téléphone") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("téléphone")
.Range("portable") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("portable")
.Range("fremise") = Workbooks(Fich &
".xls").Sheets(Feuille).Range("dremise")
.Range("B17") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("B17")
.Range("H4") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H4")
.Range("H5") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("H5")
.Range("I51") = Workbooks(Fich & ".xls").Sheets(Feuille).Range("I51")
If Workbooks(Fich &
".xls").Sheets(Feuille).Range("A21").End(xlDown).Row = 53 Then
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21")
Else
Set Plage = Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21", _
Workbooks(Fich & ".xls").Sheets(Feuille).Range("A21").End(xlDown))
End If
For Each c In Plage
'MsgBox "Adresse cible : A" & Ctr & " Adresse source : " &
c.Address & " Valeur source : " & c.Value
.Range("A" & Ctr) = c.Value
.Range("F" & Ctr) = c.Offset(0, 1)
.Range("G" & Ctr) = c.Offset(0, 2)
.Range("H" & Ctr) = c.Offset(0, 3)
Ctr = Ctr + 1
Next c
Workbooks(Fich & ".xls").Close False
End With
End Sub
Merci encore
Peponne31