XL 2016 Remplir tableau structuré à partir d'un autre

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

Pounet95

XLDnaute Occasionnel
(Re) Bonjour,
A partir du tableau 1, je voudrais :
renseigner la ligne 1 du tableau2 avec les données de sa ligne 1
renseigner la ligne 1 du tableau3 avec les données de sa ligne 2
renseigner la ligne 1 du tableau4 avec les données de sa ligne 3
..... mais je coince sur la syntaxe
Pouvez-vous m'aider SVP ?
Claude alias Pounet
Tb Structuré.PNG
 
Solution
Bonjour le fil
Quelque soit la ou les feuilles sur lesquelles se trouvent les tableaux, les enregistrements se mettent à jour.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 [tableau2].Item(1, 1) = [tableau1].Item(1, 1)
 [tableau2].Item(1, 2) = [tableau1].Item(1, 2)
 [tableau3].Item(1, 1) = [tableau1].Item(2, 1)
 [tableau3].Item(1, 2) = [tableau1].Item(2, 2)
 [tableau4].Item(1, 1) = [tableau1].Item(3, 1)
 [tableau4].Item(1, 2) = [tableau1].Item(3, 2)
End Sub
Bonjour,

Avec les tableaux sur des feuilles différentes :

VB:
Sheets("Feuil2").ListObjects(1).ListRows(1).Range.Value = Sheets("Feuil1").ListObjects(1).ListRows(1).Range.Value
Sheets("Feuil3").ListObjects(1).ListRows(1).Range.Value = Sheets("Feuil1").ListObjects(1).ListRows(2).Range.Value
Sheets("Feuil4").ListObjects(1).ListRows(1).Range.Value = Sheets("Feuil1").ListObjects(1).ListRows(3).Range.Value

Cordialement.

Daniel
 
Re,
Bien je crois qu'il va falloir que je prenne cette option.
Mais c'est quand même idiot de pouvoir utiliser des formules plus compliquées (Somme.SI, NB.Si et autres ) alors qu'un simple " = " n'est pas possible a priori (tuto sur Developpez.com)
Je vais laisser passer le WE et je refermerai ce fil
Mercvi bien
Claude alias Pounet95
 
Bonjour,




VB:
Sub TranFertTableau()
  nomtableau1 = "tableau1"
  nomtableau2 = "tableau2"
  n = 1
  Range(nomtableau2 & "[nom]").Item(n, 1) = Range(nomtableau1 & "[nom]").Item(n, 1)
  Range(nomtableau2 & "[Ville]").Item(n, 1) = Range(nomtableau1 & "[ville]").Item(n, 1)
  For i = 2 To Range(nomtableau1).Rows.Count
    Range(nomtableau2 & "[nom]").Item(i, 1) = Range(nomtableau1 & "[nom]").Item(i, 1)
    Range(nomtableau2 & "[ville]").Item(i, 1) = Range(nomtableau1 & "[ville]").Item(i, 1)
  Next i
End Sub

Sub delete()
  nomtableau2 = "tableau2"
  If Range(nomtableau2).Item(1, 1) <> "" Then Range(nomtableau2).delete
End Sub

Booisgontier
 

Pièces jointes

Dernière édition:
Bonjour le fil
Quelque soit la ou les feuilles sur lesquelles se trouvent les tableaux, les enregistrements se mettent à jour.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 [tableau2].Item(1, 1) = [tableau1].Item(1, 1)
 [tableau2].Item(1, 2) = [tableau1].Item(1, 2)
 [tableau3].Item(1, 1) = [tableau1].Item(2, 1)
 [tableau3].Item(1, 2) = [tableau1].Item(2, 2)
 [tableau4].Item(1, 1) = [tableau1].Item(3, 1)
 [tableau4].Item(1, 2) = [tableau1].Item(3, 2)
End Sub
 
Bonsoir,
Je vais tenter d'expliquer ce que je veux ( voulais ? )

En mode "classique" si j'ose dire, pour renseigner la cellule "A10" avec la valeur de la cellule "A1", il suffit de mettre en "A10" la formule =$A$1 et quand "A1" change, "A10" suit ( enfin normalement !)
Je peux effectivement faire la même chose avec 2 tableaux structurés d'où le "Mais c'est quand même idiot de pouvoir .." de mon post précédent.

JB : j'ai "pompé" sur ton site le chapitre que tu as mis en lien et il est dispo dans une session Word que je consulte à souhait . Je n'y ai pas trouvé la solution à mon problème
De la même façon, j'ai la liste que tu as mis dans un précédent post. (Syntaxes utilisées pour manipulation des tableaux structurés)
extrait >
Tb Structuré 2.PNG

dg62 : j'ai bien compris que les tableaux, où qu'ils soient se mettent à jour, et, sauf erreur, dans ton exemple la procédure Worksheet_SelectionChange est celle de la feuille contenant le [tableau1].
Cette procédure doit aussi gérer le fait que la Target soit dans le tableau1.

En attendant le résultat de ma "provocation" ( je demande pardon ! ), j'ai contourné le problème en ne créant les tableaux 2,3,4, etc qu'au moment où le tableau principal ( encore un ) est entièrement renseigné, solution plus logique que celle que je voulais mettre en oeuvre initialement.

Je suis preneur, pour mon projet actuel et ceux à venir, de toutes les explications que vous pourriez me donner.
Bonne soirée et préparez bien le déconfinement.
Claude alias Pounet95
 
- 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

  • Question Question
Microsoft 365 tableau d'alerte
Réponses
2
Affichages
102
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
283
Réponses
0
Affichages
235
Retour