• Initiateur de la discussion Initiateur de la discussion Julien86
  • 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 !

J

Julien86

Guest
Bonjour,

Je souhaiterais recopier certaines colonnes d'une base de données excel sur un autre fichier excel. En ajoutant des clients dans ma base de données ces modifications devront se répercuter automatiquement dans l'autre fichier. Y a t' il un moyen de faire ceci sans devoir faire bêtement un lien sur la prochaine ligne.

Merci pour vos réponses!🙂

Julien
 
Re : Copier tableau

Bonjour,
voici un exemple pour être plus clair. Je dois recopier les colonnes N° Client, NOM,PRENOM, VILLE de base de données dans mon tableau facturation client. Lorsque j'enregistre un nouveau client dans ma base de données cela doit se répercuter automatiquement dans mon tableau facturation.

Merci d'avance pour vos réponses!

Cordialement,

Julien
 

Pièces jointes

Re : Copier tableau

Bonsoir à tous


Voici un début non automatique et laborieux.
(je pratique encore peu le ListObject 😉 )

En espérant que cela t'inspire quelques idées de développement ultérieurs
(et attendant du code VBA beaucoup plus mieux de la part d'autres membres du forum 😉 )

Code:
Sub copie()
Dim y&, z&, f As Worksheet
Set f = Sheets("Base de données")
Sheets("Facturation Clients").ListObjects("Tableau2").ListRows.Add AlwaysInsert:=True
y = Sheets("Facturation Clients").ListObjects("Tableau2").DataBodyRange.Rows.Count
z = Sheets("Base de données").ListObjects("Tableau1").DataBodyRange.Rows.Count

With Sheets("Facturation Clients")
    .ListObjects("Tableau2").DataBodyRange(y, 1).Value = _
    f.ListObjects("Tableau1").DataBodyRange(z, 1).Value
    .ListObjects("Tableau2").DataBodyRange(y, 2).Value = _
    f.ListObjects("Tableau1").DataBodyRange(z, 2).Value
    .ListObjects("Tableau2").DataBodyRange(y, 3).Value = _
    f.ListObjects("Tableau1").DataBodyRange(z, 3).Value
    .ListObjects("Tableau2").DataBodyRange(y, 4).Value = _
    f.ListObjects("Tableau1").DataBodyRange(z, 5).Value
End With
End Sub
 
Re : Copier tableau

Bonsoir à tous,

Un autre essai avec le code suivant dans le module de Feuil1:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Tableau1")) Is Nothing Then
   With Sheets("Base de données")
      .Range("Tableau1[[N°Client]:[Prénom]]").Copy _
         Sheets("Facturation Clients").Range("Tableau2[[N°Client]:[Prénom]]")
      .Range("Tableau1[Ville]").Copy _
         Sheets("Facturation Clients").Range("Tableau2[VILLE]")
   End With
End If
End Sub

Évidemment, ça ne doit fonctionner qu'en cas de rajout de client. En cas de suppression d'un client sur le tableau1, les deux listes seront désynchronisées vis à vis des factures (idem si on fait un tri sur le premier tableau ou le second)
 
Dernière édition:
Re : Copier tableau

Ma remarque sur la Bdd n'etait pas destinée à vous 2, mais à l'auteur du post.

Mais, quant à commencer systématiquement chaque réponse par un "Bonjour" mécanique ou préformaté, je ne suis pas hypocrite à ce point.
Pour ma part, je salue les participants une fois par jour, dans la première réponse, c'est ce que demande la politesse et je la respecte, mais je ne vais pas jusqu’à l'obséquiosité.
Sur ce, je vous souhaite une bonne nuit !
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
354
  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
369
Réponses
12
Affichages
777
Retour