Regrouper des donnees texte

Bonjour a tous

Je voulais faire un tableau que je pensais facile mais finalement je bloque.

Je vous explique mes besoins.

J ai un tableur avec plusieurs onglets et chacun d eux contient des donnees texte que j aimerais combine dans un dernier onglet. C est une sorte de compilation en faite.

J aimerais que cela se fasse de facon dynamique, je veux dire par la que lorsque je modifie des donnees dans un onglet, elles le seront aussi dans l onglet de recapitulation

J ai essaye avec les TCD mais je n arrive a rien.

Est ce que vous auriez des pistes a me donner?

Merci

Ci joint le fichier

4test-pav.xlsx (29.49 Ko)

Bonjour,

Sans donnée, ça ne fait pas grand chose à compiler !

Tableaux Excel vides : mauvaise utilisation de tableaux Excel !

Un tableau Excel, s'il est encore vide, ne doit avoir qu'une seule ligne (pour garantir l'existence du tableau), et pas une de plus !

Cordialement.

Le tableau etait volontairement vide par souci de discretion de mes clients bien sur

J ai remplie quelque case de facon tres bidon si besoin dans la nouvelle version ci jointe

Je pensais juste trouver une methode en faite, c est pour cela que je n avais pas laisser les donnees

4test-pav.xlsx (29.71 Ko)

On ne peut travailler correctement sans données indiquant sur quelle matière on opère, et il convient que ces données soient de même type que les données réelles, et formellement assez proches afin d'éviter des surprises. Et sans données on ne peut rien tester.

Si j'ai bien compris, tu veux rassembler toutes tes données dans une seule feuille ?

Je ne vois pas trop l'intérêt si tu maintiens les autres feuilles. Les rassembler en ajoutant un champ identifiant le département apporterait un gain, mais là tu ne fais que doublonner...

En l'absence de champ identifiant un enregistrement de façon unique, une mise à jour consistera à tout effacer et reconstituer l'assemblage des données à chaque fois...

Cordialement.

Je veux effectivement un doublon afin de traiter les donnees recueillis en un seule copier coller pour exportation, creation d une carte (batchgeo par exemple)

Si les donnees du dernier onglet doivent etre supprimer et re--ecrite lors de MAJ cela ne me derange pas.

Pour resumer, tres grossierement, je souhaiterais une sorte de copier coller de toutes mes donnees de mes onglets reunis dans un seul.

Et si possible, avec MAJ automatique

Je ne suis guère convaincu de l'intérêt de ce doublonnage plutôt que d'avoir une base unique... mais ce n'est pas long à écrire, alors :

Sub MaJ()
    Dim ws As Worksheet, PlgC As Range, LO As ListObject, n%, nn%
    Set LO = ActiveSheet.ListObjects(1)
    Set PlgC = LO.DataBodyRange
    PlgC.Rows(1).ClearContents
    If PlgC.Rows.Count > 1 Then PlgC.Offset(1).EntireRow.Delete
    Set PlgC = LO.DataBodyRange: n = 1
    Application.ScreenUpdating = False
    For Each ws In Worksheets
        Select Case ws.Name
            Case "Compilation"
            Case Else
                With ws.ListObjects(1).DataBodyRange
                    nn = .Rows.Count
                    PlgC.Rows(n).Resize(nn).Value = .Value
                    n = n + nn
                End With
        End Select
    Next ws
End Sub

J'avais conseillé de supprimer les lignes vides des tableaux ! C'est moi qui ai dû le réaliser. Il conviendra de ne pas réitérer en en rajoutant à nouveau !

Par contre ce sera un clic sur un bouton pour mettre à jour. Un automatisme sur Change déclencherait la procédure à tout bout de champ, sur Activate d'une façon qui ne serait pas forcément justifiée, il vaut mieux donc qu'elle soit déclenchée volontairement lorsqu'on aura besoin de la réaliser.

Cordialement.

Merci pour ta reactivite en tout cas.

Je vais tester cela des demain si possible.

Salut

Cela marche tres bien.

Par contre, il y a un bug lorsque je cree un nouvel onglet. Que dois je modifier dans la macro? (j avoue que c est du chinois pour moi)

Merci encore

La macro traite tous les onglets (sauf Compilation) pour rassembler ces données dans Compilation.

Toutes ces feuilles doivent avoir la même structure : données dans un tableau Excel...

Si des feuilles sont exclues en plus de Compilation, il faut les rajouter à la suite dans la macro, pour qu'elle les ignore.

NB- Tu ne dis pas en quoi ça bogue, quelle errreur, sur quelle ligne, etc.

L erreur apparait sur la ligne

With ws.ListObjects(1).DataBodyRange

Et lorsque je cree un nouvel onglet et que je clic sur "Mise a jour" cela me marque

Erreur d execution 9

L indice n appartient pas a la selection

Y a-t-il des données dans ton tableau ?

Si tu crées un onglet sans y mettre de données, aucune mise à jour n'est à faire !

Lorsque tu crée un onglet, tu dois y placer un tableau Excel et mettre des données dans ce dernier, après quoi tu lances la mise à jour.

Une erreur est normale si tu crées un onglet, sans tableau Excel ou sans mettre de données dans ce tableau, et que tu lances une mise à jour.

Cordialement.

Il y a bien des donnees mais je ne les aurais pas souhaiter dans la compilation en faite.

Comment exclure cette onglet du coup?

Tu rajoutes son nom (entre guillemets) sur cette ligne :

            Case "Compilation"

en séparant chaque nom d'onglet par une vigule.

Cordialement.

C est parfait

Merci encore

Rechercher des sujets similaires à "regrouper donnees texte"