Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…