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

XL 2021 copie de donnée vers diffèrent tableaux sur plusieurs feuilles en fonction d un mot

Aleks Shadows

XLDnaute Nouveau
Bonjour a tous
j ai besoin de votre aide ,je vous explique
j aimerai pouvoir via un bouton déclencher une copie des données dans certaine cellules dans un tableaux dans une feuilles precis (jusque la j arrive a le faire pour un tableau une feuille)
mais chaque feuille sont nommées et je voudrais qu'en fonction du nom dans la cellule G19 il colle les données dans le tableau de la feuille du même nom et pas dans les autres
par ex : Nom sélectionné Alexis>j appuie sur le bouton>colle dans le tableau de la feuille nommé Alexis >reset les infos
je pense qu'il faut faire quelque chose du : si G19 = Alexis alors collée dans la feuille nommée "Alexis" ;si G19 = Robin alors collée dans la feuille nommée "Robin" etc. etc. ...
mais j'ai du mal a appliquer l idée ^^' donc si une bonne âme peut m aider ca serai fort aimable de votre part
 

Pièces jointes

  • proto heure supp.xlsx.xlsm
    90 KB · Affichages: 6
Solution
Dans chaque feuille de destination il faut un tableau structuré.

Dans ces tableaux il faut éviter les lignes vides, je les ai donc supprimées.

La macro du bouton :
VB:
Sub rangecopy()
Dim n&
Dim F1 As Worksheet, F2 As Worksheet
Set F1 = Sheets("Tableau de bord")
On Error Resume Next
Set F2 = Sheets(CStr(F1.[G19]))
On Error GoTo 0
If F2 Is Nothing Then Exit Sub
With F2.ListObjects(1).Range 'tableau structuré
    n = IIf(Application.CountA(.Rows(2)) = 0, 2, .Rows.Count + 1)
    .Rows(n) = Array(F1.[G23].Value, F1.[R20].Value, F1.[R22].Value, F1.[G25], F1.[G27])
    .Parent.Activate 'facultatif
End With
End Sub
A+

Aleks Shadows

XLDnaute Nouveau
Bonjour Job75,
Pour les heures je copie que les cellules R20 et/ou 22(du moins la valeur de la formule Concat )
après y a surement plus simple ou plus pratique pour faire ca et le copier dans le tableau après
j'espère avoir répondu a ta question
merci
++
 

job75

XLDnaute Barbatruc
Dans chaque feuille de destination il faut un tableau structuré.

Dans ces tableaux il faut éviter les lignes vides, je les ai donc supprimées.

La macro du bouton :
VB:
Sub rangecopy()
Dim n&
Dim F1 As Worksheet, F2 As Worksheet
Set F1 = Sheets("Tableau de bord")
On Error Resume Next
Set F2 = Sheets(CStr(F1.[G19]))
On Error GoTo 0
If F2 Is Nothing Then Exit Sub
With F2.ListObjects(1).Range 'tableau structuré
    n = IIf(Application.CountA(.Rows(2)) = 0, 2, .Rows.Count + 1)
    .Rows(n) = Array(F1.[G23].Value, F1.[R20].Value, F1.[R22].Value, F1.[G25], F1.[G27])
    .Parent.Activate 'facultatif
End With
End Sub
A+
 

Pièces jointes

  • proto heure supp.xlsm
    84.5 KB · Affichages: 7

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…