Macro d'exportation de données entre deux classeurs

Bonjour,

Je suis débutant en ce qui concerne la VBA.

Je cherche à créer une macro et je n'arrives pas à écrire le code. C'est pour cette raison que je fais appel à vous. Celle-ci devra exporter des données d'un classeur vers un autre.

Les données seront dans une ligne qui devra par la suite se déposer dans un ou deux tableaux situés dans deux autres classeurs. De plus, cette ligne une fois envoyé (Par exemple à l'aide d'un bouton) devra s'effacer.

Une des informations présente sur cette ligne servira à identifier dans quels classeurs seront envoyés les données.

Finalement la difficulté réside dans le fait qu'il devra y avoir plusieurs classeur qui enverront tous leur information dans un classeur mère, donc la macro devra leur indiquer d'ajouter la ligne à la suite de celles déjà présentes.

Voici les documents:

Tableau qui sera envoyé:

Tableau de reception 1 :

Tableau de reception 2 :

Merci d'avance! et bonne journée!

Bonsoir

Tous les fichiers dans le même répertoire (ou alors modifier le chemin dans la macro)

Wow, merci énormément! La vitesse à laquelle vous procédez est assez impressionante.

Petite question, que voulez-vous dire par tous les fichiers dans le même répertoire et quel chemin a besoin d'être modifié?

Merci encore!

Bonsoir

Pour que cette macro fonctionne il faut que les 3 fichiers (celui que j'ai posté + consolide1 + consolide2) se trouvent au même endroit (même répertoire - même dossier)

Si ce n'est pas le cas il faut que tu modifies le chemin dans la macro en y indiquant l'endroit où sont stockés tes fichiers "consolide.."

  Application.ScreenUpdating = False
  Set Ws = Sheets("Feuil1")
  Chemin = ThisWorkbook.Path & "\"
  Fichier = "consolide1.xls"

Parfait, tout marche à marveille!!

Merci énormément!

Bonjour,

Désolé de revenir sur ce sujet résolu. À vrai dire, tout marche parfaitement! J'ai simplement une petite question, Est-il possible d'ajouter une fonction à la macro, soit celle de remplissage. C'est-à-dire qu'elle remplisse en jaune les cellules une fois qu'elles sont copiés dans le classeur.

Les lignes servant à copier sont celles-ci :

 If UCase(Range("Q11")) = "OUI" Then
    Fichier = "consolidé EQI.xls"
    If Dir(Chemin & Fichier) = "" Then
      MsgBox "Le fichier " & Fichier & " est introuvable"
      Exit Sub
    End If
    With Workbooks.Open(Chemin & Fichier)
      With .Sheets("Interventions")
        Ws.Range("A11:R11").Copy .Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
      End With
      .Close savechanges:=True
    End With

De plus, j'ai trouvé la fonction servant à remplir les cellules, mais je n'arrive pas à lui indiquer de remplir les cellules copiés.

Voici le code :

Interior.Color = vbYellow

Encore une fois, je ne sais pas s'il est possible de réécrire sur les sujet résous.

Merci!

Bonjour

Rajoutes la ligne surlignée à deux endroits dans la macro (si tu as des soucis reviens le dire)

      If .Range("B3") = "" Then Ligne = 3 Else Ligne = .Range("B2").End(xlDown).Row + 1
      Ws.Range("A11:G11").Copy .Range("B" & Ligne)
     .Range("B" & Ligne & ":H" & Ligne).Interior.Color = vbYellow
    End With

Le coloriage n'est que pour les colonnes B à H : A toi de modifier si besoin d'autres colonnes

Bonjour,

Un message d'erreur ressort lorsque je roule macro avec cette ligne, soit: "Erreur de compilation: Variable non défini" et le mot line est surligné dnas le code.

Bonsoir

Désolé : J'ai oublié de te dire de déclarer la variable Ligne

Sub Transfert()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet
Dim Ligne As Long

Tout fonctionne, Merci beaucoup!

Rechercher des sujets similaires à "macro exportation donnees entre deux classeurs"