copie de la feuille est enregistre dans nouveau fichier

rudy dehaudt

XLDnaute Occasionnel
Bonjour, même application mais nouvelle possibilité de solution, donc nouveau fils.

j'ai trouver sur le net ce bout de code qui selon moi copie la feuil5 ( bon de commande ) , puis créer un fichier excels , colle le comptenu de le feuil5 et enregiste le fichier:

Sub test()
Dim Chemin As String

Application.ScreenUpdating = False
Chemin = "G:\details des bons de commande\"

With Sheets("Feuil5").Copy

With ActiveWorkbook
.SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd hhmmss")
.Close
End With
end with
End Sub

code que j’essaie d’adapter comme ci-dessous :

Private Sub CommandButton1_Click() ' départ de l'ancien qui fonction trés bien
Dim Lg As Long
Dim tva As Single

With Sheets("Data").Range("A:A")
For n = 2 To .Range("A65536").End(xlUp).Row
t = InStr(Me.Range("G6"), .Cells(n, 1).Value) > 0
If t Then
tva = .Cells(n, 2)
Exit For
End If
Next
End With
With Sheets("Suivi de BL et FACTURE ")
Lg = .Range("B65536").End(xlUp).Row + 1
.Cells(Lg, 2) = Me.Range("G1") ' Date Cde
.Cells(Lg, 3) = Me.Range("G6") ' Fournisseur
.Cells(Lg, 4) = Me.Range("D7") ' Date Livraison
.Cells(Lg, 5) = Me.Range("C1") ' N° Bon de Commande
' .Cells(Lg, 6) = Me.Range("") ' N° BL
' .Cells(Lg, 7) = Me.Range("") ' N° Facture
' .Cells(Lg, 8) = Me.Range("G1") ' Montant HT
' .Cells(Lg, 9) = tva
.Cells(Lg, 12) = Me.Range("E3") ' Statut Livraison
End With
Me.CommandButton1.Visible = True ' fin du code qui fonctionne trés bien

Application.ScreenUpdating = False ' départ du nouveau code
Chemin = "G:\details des bons de commande\"

With Sheets("bon de commande 1").Copy

With ActiveWorkbook
.SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd hhmmss")
.Close
End With
End With

End Sub

je ne doit pas être loin de la solution mais l'erreur " l'indice n'appartient pas a la sélection " apparait , le bouton qui contient le code est sur la feuil5, la ligne indiqué par VBA et : .SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd hhmmss") pourtant le dossier de destination
 

Pièces jointes

  • bon de commande et reclamation vierge .xls
    259 KB · Affichages: 51
  • bon de commande et reclamation vierge .xls
    259 KB · Affichages: 54
  • bon de commande et reclamation vierge .xls
    259 KB · Affichages: 52

youky(BJ)

XLDnaute Barbatruc
Re : copie de la feuille est enregistre dans nouveau fichier

Bonjour
Essai comme cela
Supprime ce que j'ai mis en rouge
Bruno

With Sheets("bon de commande 1").Copy

With ActiveWorkbook
.SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd hhmmss")
.Close
End With
End With
 

rudy dehaudt

XLDnaute Occasionnel
Re : copie de la feuille est enregistre dans nouveau fichier

bonjour, bruno :
je viens de tester ta proposition mais VBA me renvoie à la ligne :

.SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd") ?

pourtant le fichier est créer mais l'auto enregistrement ne se fait pas ( le dossier de destination et ouvert )

quand pense tu ?

A+
 

youky(BJ)

XLDnaute Barbatruc
Re : copie de la feuille est enregistre dans nouveau fichier

Alors il manque le .xls
.SaveAs Filename:=Chemin & ThisWorkbook.Sheets("Feuil5").Range("C1") & " " & Format(Now, "yy-mm-dd" & ".xls")
Faire également ce que j'ai mentionné lors de mon précédent message.
Bruno
 

rudy dehaudt

XLDnaute Occasionnel
Re : copie de la feuille est enregistre dans nouveau fichier

même punition, même ligne, le nom du nouveau classeur un peut être un peu tordue ?
et si ont reprennait à la suite les nombres ( onglet : BL et Facture ) bon de commande 12708 , bon de commande 12709 etc.. ?
 

youky(BJ)

XLDnaute Barbatruc
Re : copie de la feuille est enregistre dans nouveau fichier

.SaveAs Filename:=Chemin & ThisWorkbook.Feuil5.Range("C1") & " " & Format(Now, "yy-mm-dd" & ".xls")
Feuil5 est le codename de l'onglet "bon de commande 1"
Sheets("Feuil5") y connait pas

Bruno

 

youky(BJ)

XLDnaute Barbatruc
Re : copie de la feuille est enregistre dans nouveau fichier

Bonjour à tous,
J'ai fait des essais ce matin et voici la macro.
Je supprime le bouton et ajout du displayalert

Bruno
Code:
Private Sub CommandButton1_Click()
Dim Lg As Long
Dim tva As Single


With Sheets("Data").Range("A:A")
  For n = 2 To .Range("A65536").End(xlUp).Row
    t = InStr(Me.Range("G6"), .Cells(n, 1).Value) > 0
    If t Then
      tva = .Cells(n, 2)
      Exit For
    End If
  Next
End With
With Sheets("Suivi de BL et FACTURE ")
  Lg = .Range("B65536").End(xlUp).Row + 1
  .Cells(Lg, 2) = Me.Range("G1") ' Date Cde
  .Cells(Lg, 3) = Me.Range("G6") ' Fournisseur
  .Cells(Lg, 4) = Me.Range("D7") ' Date Livraison
  .Cells(Lg, 5) = Me.Range("C1") ' N° Bon de Commande
'  .Cells(Lg, 6) = Me.Range("") ' N° BL
'  .Cells(Lg, 7) = Me.Range("") ' N° Facture
 ' .Cells(Lg, 8) = Me.Range("G1") ' Montant HT
 ' .Cells(Lg, 9) = tva
  .Cells(Lg, 12) = Me.Range("E3") ' Statut Livraison
End With
Me.CommandButton1.Visible = True


 Application.ScreenUpdating = False
  Chemin = "G:\details des bons de commande\"
     'Chemin = ThisWorkbook.Path & "\"
   Sheets("bon de commande 1").Copy
    ActiveSheet.Shapes("CommandButton1").Delete
  With ActiveWorkbook
  Application.DisplayAlerts = False
    .SaveAs Filename:=Chemin & Feuil5.Range("C1") & " " & Format(Now, "yy-mm-dd hhmmss")
  Application.DisplayAlerts = True
    .Close
  End With


End Sub
 

rudy dehaudt

XLDnaute Occasionnel
Re : copie de la feuille est enregistre dans nouveau fichier

bonsoir youky(BJ), bonsoir à l'ensemble :
excuse moi de la réponse plus que tardive, je viens d'utilisé ton code, il tourne très bien. je reprend le taff vendredi et pourrais continué à utilisé mon fichier d'origine.
il faut encore que je trouve une solution pour pouvoir retrouvé les bons de commande à parti du fichier de base ( Suivi de BL et Facture ), mais c'est déjà une bonne chose en l’état. encore merci
A+
 

Discussions similaires

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi