Copier des lignes dans d'autres fichiers Excel

  • Initiateur de la discussion Initiateur de la discussion Amilo
  • Date de début Date de début

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 !

Amilo

XLDnaute Accro
Bonsoir le Forum,

Voici une de mes demandes les plus difficiles, peut-être que pour certains ceci est un jeu d'enfant.

Dans mon répertoire "dossiers commun", j'ai actuellement 3 fichiers Excel nommés : création, Schmitt et Muller.

Dans "création", je gère les nouvelles factures dans l'onglet "Formulaire" pour les rajouter dans "Base de données".

A chaque création d'une nouvelle ligne de facture dans données de base, je souhaiterai que cette ligne se copie dans le fichier qui porte le même nom que la colonne F sous "responsable".

Une facture avec pour responsable "Schmitt" soit copiée dans le fichier "Schmitt", une facture "Muller" dans le fichier "Muller" etc...

Pour l'instant j'ai créé 2 fichiers avec des formules de liaisons qui ne répondent pas à mon problème.

Je pense la solution la plus appropriée est une macro !!

Merci pour votre aide.

Bonne soirée à tous.
 
Dernière édition:
Re : Copier des lignes dans d'autres fichiers Excel

bonsoir Amilo,

ton pb est très spécifique donc il faudrait poster ton fichier de base avec juste les infos qu'il faut et le fichier schmidt par exemple

Dans l'attente de te lire

a+
 
Re : Copier des lignes dans d'autres fichiers Excel

bonsoir Amilo,

ton pb est très spécifique donc il faudrait poster ton fichier de base avec juste les infos qu'il faut et le fichier schmidt par exemple

Dans l'attente de te lire

a+
Re bonsoir,

Effectivement Ledepfred, le sujet est déjà compliqué comme ça, sans fichier exemple, c'est plutôt impossible de donner un avis !!

Excusez moi pour ma maladresse, j'ai complètement zapé le fichier que je voulais joindre,

Le voici ci-dessous :

Merci d'avance.
 

Pièces jointes

Re : Copier des lignes dans d'autres fichiers Excel

re...

les fichiers schmidt et muller seront-ils ouverts au moment de l'execution de la macro? où sont-ils fermés?

A+

Ledzpfred,

ces fichiers ne seront pas ouverts systématiquement par l'utilisateur du fichier "Création" au lancement de la macro. Les fichiers "Muller" etc... sont destinés à chaque responsable pour lecture seule mais ils seront libre d'ouvrir leur fichier à leur gré.

Slts
 
Re : Copier des lignes dans d'autres fichiers Excel

re...

vois si cela te convient

la macro se déclenche quand tu sélectionnes la ligne à copier ou une cellule dans cette ligne puis tu cliques sur le bouton copie
si le fichier dont le nom est indiqué en F n'est pas ouvert, la macro l'ouvre et colle l'intégralité de la ligne en valeur dans ce fichier puis le ferme après enregistrement.

à peaufiner...

a+
 

Pièces jointes

Re : Copier des lignes dans d'autres fichiers Excel

re...

vois si cela te convient

la macro se déclenche quand tu sélectionnes la ligne à copier ou une cellule dans cette ligne puis tu cliques sur le bouton copie
si le fichier dont le nom est indiqué en F n'est pas ouvert, la macro l'ouvre et colle l'intégralité de la ligne en valeur dans ce fichier puis le ferme après enregistrement.

à peaufiner...

a+

ça ne fonctionne malheureusemnt pas, je me suis bien mis dans une cellule de la ligne à copier, le fichier responsable s'ouvre effectivement mais ne colle pas la ligne souhaitée.

de plus peut-on exécuter une telle macro à partir du bouton "ajouter facture" de l'onglet "formulaire" de manière à ce qu'il copie à la fois dans la base de données "Création" et le fichier "Responsable" ???

Merci d'avance

Bonne nuit à tous
 
Re : Copier des lignes dans d'autres fichiers Excel

bonsoir amilo,

bizarre que ça ne fonctionne pas chez toi, j'avais testé de mon côté et pas de souci; Pour l'associer à la macro ajouter_facture essaye comme ceci (j'ai fusionnée les deux procédures mais je n'ai pas testé (pas le temps), le bouton copie et le code associé sont donc inutiles

Code:
Option Explicit

Sub ajouter_facture()
  Dim DerLig, NextLig,  lig2 As Long
  '
  ' ajouter_facture Macro
  '
  ' Trouver la dernière ligne de la BdD en partant de la fin
  ' et en remontant vers le haut = CTRL + flèche vers le haut
  DerLig = Sheets("Base de données").Range("A" & Rows.Count).End(xlUp).Row
  NextLig = DerLig + 1

  Range("A2:H2").Copy
  With Sheets("Base de données").Range("A" & NextLig)
    .PasteSpecial Paste:=xlPasteValues, _
                  Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
                  SkipBlanks:=False, Transpose:=False
  Sheets("Formulaire").Range("E6,E8,E10,E12,E14,E16,E18").ClearContents
  Range("E6").Select

'On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(.Cells(DerLig, 6).Value & ".xls").Activate
If Err = 9 Then Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & .Cells(DerLig, 6).Value & ".xls", UpdateLinks:=3
lig2 = Workbooks(.Cells(DerLig, 6).Value).Sheets("Feuil1").Cells(65536, 1).End(xlUp).Row + 1
.Cells(DerLig, 6).EntireRow.Copy
Workbooks(.Cells(DerLig, 6).Value).Sheets("Feuil1").Cells(lig2, 1).PasteSpecial xlPasteValues
Workbooks(.Cells(DerLig, 6).Value).Close True
End With
End Sub

j'ai volontairement mis une apostrophe devant la ligne On Error Resume Next, si tu executes la macro pas à pas tu verras où se situe l'erreur pour pouvoir la corriger

a+
 
Re : Copier des lignes dans d'autres fichiers Excel

Bonsoir amilo, ledzepfred


ledzepfred : d'accord avec ces modifications ?

Range("A2:H2").Copy
With Sheets("Base de données")
NextLig = .Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
With .Range("A" & NextLig)
.PasteSpecial xlPasteValues
.PasteSpecial xlPasteFormats
End With
End With
 
Re : Copier des lignes dans d'autres fichiers Excel

Bien sur cher ami,

je n'aime pas imbriqué les With End With mais j'avoue qu'on y gagne en clarté!🙂

En plus j'avais bouletté ça m'apprendra à ne pas écrire un code dans l'editeur vba mais directement dans le post

a+
 
Re : Copier des lignes dans d'autres fichiers Excel

Bien sur cher ami,

je n'aime pas imbriqué les With End With mais j'avoue qu'on y gagne en clarté!🙂

En plus j'avais bouletté ça m'apprendra à ne pas écrire un code dans l'editeur vba mais directement dans le post

a+

Bonsoir Vbacrumble, Lepzepfrd, le Forum,


Je viens à cette heure de prendre connaissance de vos nouvelles suggestions que je testerai avec la plus grande attention dès demain dans la première heure.

Je vous tiendrai informés du résultat.

D'avance un grand merci à vous pour vos propositions et pour le temps que vous avez bien voulu passer sur le sujet.


Bonne nuit à tous.
 
- 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
2
Affichages
699
Retour