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

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

danielco

XLDnaute Accro
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
 

Pounet95

XLDnaute Occasionnel
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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Transfert.xlsm
    18 KB · Affichages: 21
Dernière édition:

dg62

XLDnaute Barbatruc
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
 

Pounet95

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 045
Messages
2 084 834
Membres
102 685
dernier inscrit
med_remi021