copie de la feuille est enregistre dans nouveau fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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+
 
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
 
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.. ?
 
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

 
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
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
477
Réponses
9
Affichages
893
Retour