Reunir plusieurs tableaux en un seul

Bonjour à tous,

Mon problème est le suivant : j'ai créé plusieurs tableaux sur plusieurs feuille qui sont alimentés pour plusieurs userform.

Userform 1 --> sheet "administrations" --> 1er tableau

Userform 2 --> sheet "CE" --> 2eme tableau

Userform 3 --> sheet "écoles" --> 3eme tableau

Userform 4 --> sheet "associations" --> 4eme tableau

Cela fonctionne très bien à chaque enregistrement de client une ligne s'ajoute dans un tableau en fonction du userform.

Ma question est la suivante : En conservant ce système, comment faire pour créer un tableau qui va réunir ces 4 tableaux (4 sheets différentes) en un seul sur une 5ème sheet. Sachant que les 4 tableaux seront modifiés (ajout/suppression de ligne) et que je voudrais que l'ajout et la suppression soit aussi impacté sur le 5ème tableau. (exemple : si j'ajoute un client en administration, il se met aussi dans le 5ème tableau en dernière ligne. Si ensuite j'ajoute un CE, il s'ajoute également en dernière ligne du tableau 5, ect...)

J'espère que je suis assez clair dans mon explication

Merci d'avance à ce qui pourront répondre à mon petit problème. Si il existe une solution détournée je suis preneur.

Bonne journée à tous

Bonjour Ssyla le forum

oui c'est possible mais sans fichier ???

a+

Papou

Bonjour paritec,

Je l'avais pas mis car j'avais des données confidentielles dessus, j'ai planché sur mon problème et je pense avoir trouvé une solution.

Lorsque j'enregistre un client dans mon userform il va aller dans la première feuille mettre les données

Private Sub BtnEnregistrer_Click()

    Dim Label11 As String
    Dim Label5 As String
    Dim Label6 As String
    Dim Label3 As String
    Dim Label4 As String
    Dim Label2 As String
    Dim Label7 As String
    Dim Label8 As String
    Dim Label10 As String
    Dim Label9 As String
    Dim Label12 As String
    Dim Label13 As String
    Dim Label14 As String
    Dim Label15 As String
    Dim Label16 As String
    Dim Label17 As String
    Dim Label21 As String
    Dim Label22 As String
    Dim Label23 As String

        Label11 = Cont1.Value
        Label5 = Cont2.Value
        Label6 = Cont3.Value
        Label3 = Cont4.Value
        Label4 = Cont5.Value
        Label2 = Cont6.Value
        Label7 = Cont7.Value = Format(Cont7, "00.00.00.00.00")
        Label7 = Cont30.Value = Format(Cont30, "00.00.00.00.00")
        Label8 = Cont8.Value
        Label10 = Cont9.Value
        Label9 = Cont10.Value
        Label12 = Cont11.Value
        Label13 = Cont12.Value
        Label14 = Cont13.Value
        Label15 = Cont14.Value
        Label16 = Cont15.Value
        Label17 = Cont16.Value
        Label21 = Cont17.Value
        Label22 = Cont18.Value
        Label23 = Cont19.Value

        Sheets("Association").Activate
        Range("A10000").Select
        Selection.End(xlUp).Select
        NumLigneSuivi = ActiveCell.Row + 1

        Range("A" & NumLigneSuivi) = Cont1.Value
        Range("B" & NumLigneSuivi) = Cont2.Value
        Range("C" & NumLigneSuivi) = Cont3.Value
        Range("D" & NumLigneSuivi) = Cont4.Value
        Range("E" & NumLigneSuivi) = Cont5.Value
        Range("F" & NumLigneSuivi) = Cont6.Value
        Range("G" & NumLigneSuivi) = Cont7.Value
        Range("H" & NumLigneSuivi) = Cont30.Value
        Range("I" & NumLigneSuivi) = Cont8.Value
        Range("J" & NumLigneSuivi) = Cont9.Value
        Range("K" & NumLigneSuivi) = Cont10.Value
        Range("L" & NumLigneSuivi) = Cont11.Value
        Range("M" & NumLigneSuivi) = Cont12.Value
        Range("N" & NumLigneSuivi) = Cont13.Value
        Range("O" & NumLigneSuivi) = Cont14.Value
        Range("P" & NumLigneSuivi) = Cont15.Value
        Range("Q" & NumLigneSuivi) = Cont16.Value
        Range("R" & NumLigneSuivi) = ContNum2.Value
        Range("S" & NumLigneSuivi) = ContNum.Value
        Range("T" & NumLigneSuivi) = Cont17.Value
        Range("U" & NumLigneSuivi) = Cont18.Value
        Range("V" & NumLigneSuivi) = Cont19.Value

Puis je lui demande de refaire la même action pour la nouvelle feuille et le nouveau tableau

Sheets("AJOUT").Activate
        Range("A10000").Select
        Selection.End(xlUp).Select
        NumLigneSuivi = ActiveCell.Row + 1

        Range("A" & NumLigneSuivi) = Cont1.Value
        Range("B" & NumLigneSuivi) = Cont2.Value
        Range("C" & NumLigneSuivi) = Cont3.Value
        Range("D" & NumLigneSuivi) = Cont4.Value
        Range("E" & NumLigneSuivi) = Cont5.Value
        Range("F" & NumLigneSuivi) = Cont6.Value
        Range("G" & NumLigneSuivi) = Cont7.Value
        Range("H" & NumLigneSuivi) = Cont30.Value
        Range("I" & NumLigneSuivi) = Cont8.Value
        Range("J" & NumLigneSuivi) = Cont9.Value
        Range("K" & NumLigneSuivi) = Cont10.Value
        Range("L" & NumLigneSuivi) = Cont11.Value
        Range("M" & NumLigneSuivi) = Cont12.Value
        Range("N" & NumLigneSuivi) = Cont13.Value
        Range("O" & NumLigneSuivi) = Cont14.Value
        Range("P" & NumLigneSuivi) = Cont15.Value
        Range("Q" & NumLigneSuivi) = Cont16.Value
        Range("R" & NumLigneSuivi) = ContNum2.Value
        Range("S" & NumLigneSuivi) = ContNum.Value
        Range("T" & NumLigneSuivi) = Cont17.Value
        Range("U" & NumLigneSuivi) = Cont18.Value
        Range("V" & NumLigneSuivi) = Cont19.Value

'On affiche un message confirmant la nouvelle saisie dans la table
MsgBox "Le nouveau client CEC Pro a bien été enregistré" & MaFeuille, vbOKOnly + vbInformation, "VALIDATION"

Sheets("AJOUT").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select

        Unload formulaireAsso

        ActiveWorkbook.Save

Sheets("Sommaire").Activate
Range("A1").Select
End Sub

Avec ce système j'ai l'enregistrement du client sur les deux feuilles, ce qui résout mon problème partiellement car il va y avoir un soucis lors de la suppression et la modification de client. Ce problème devra être résolu dans un autre userform qui me sert de support de recherche.

Merci à toi paritec ou papou je pense avoir trouvé une solution à peu près convenable.

Qu'est ce que tu en penses? Si vraiment mon excel t'es nécessaire je pourrais le modifier en retirant les données sensibles et te le transmettre.

A+

Re Ssyla le forum

si le code que tu as écrit te plait c'est très bien pour moi cela est assez proche du bricolage mais bon!!

confidentiel confidentiel

Juste pour rire voilà une boucle qui fait le même boulot !!! (pour une partie de remplissage de la feuille association + feuille Ajout)

il faut juste rajouter le numlignesuivi et aussi revoir pour avoir des textbox ou combo avec des numéros qui se suivent, enfin c'est logique mais je vois que de la 7 on passe à de la 30 pour revenir à la 8 !!!! enfin c'est pour toi .

a+

Papou

with Sheets("Association")
    for i= 1 to 21
          .cells( NumLigneSuivi, i)  = controls("Cont" &i )
    next i
end with
with Sheets("Ajout")
    for i= 1 to 21
          .cells( NumLigneSuivi, i)  = controls("Cont" &i )
    next i
end with

Re Paritec,

Je débute avec VBA, je me doutais un peu que mes codes ne soient pas au top, je suis là pour apprendre Merci pour ton code ça va me permettre de diminuer mon volume de code qui est assez conséquent.

Merci de réponse rapide

j'en profite un peu du coup : est ce tu serais comment procéder pour modifier des données sur les deux tableaux en même temps, par exemple sur le tableau de la feuille "Association" et "Ajout".

A+

Ssyla

Re Ssyla le forum

oui bien sur mais c'est confidentiel, alors comment tu veux que je sache comment sont faites tes feuilles ??? association et ajout sont identiques???

sans fichier je ne peux que te dire oui c'est possible

a+

Papou

PS: que tu veuilles apprendre c'est très bien

Re paritec,

Je t'envoi mon fichier, je t'explique en quoi il consiste.

Il y a une base de données avec 4 catégories (donc 4 feuilles, 4 tableaux)

J'ai un userform généré avec le bouton "ajouter un client" qui va me permettre de choisir ma catégorie et ainsi ouvrir des userform différent pour chaque tableau. Quand on enregistre la donnée bascule à la fin du tableau dans la page de la catégorie et dans ajout.

j'ai un bouton recherche, qui me permet de rechercher un client à partir de son id client (numéro de compte)+ une recherche aléatoire qui me permet de trouver un client dans ajout avec n'importe quelle donnée.

Je voudrais pouvoir modifier les données des clients des textBox (ICI nommé "Cont") dans les deux tableaux.

J'espère que je suis clair

A+

Ssyla

36excel-cec-test.zip (736.09 Ko)

Re Ssyla le forum

bah à la lecture de ton dernier poste cela me paraît clair je vais ouvrir le fichier pour voir si la suite est aussi clair

a+

Papou

Rebonjour Ssyla le forum

bon alors ton fichier est bien conforme à tes macros si tu veux je mets les mains dedans mais je vais virer plus de la moitié des choses

pour ne pas dire 80 % !!!

ce qui me fait peur c'est que tu n'arrives plus à te retrouver ensuite

a+

Papou

Bonsoir Ssyla le forum

Attention les yeux tu vas pas reconnaitre le fichier

fonctionnement identique mais 1 userform et ajout dans les deux feuilles

par contre ta feuille AJOUT ne sert que pour la recherche et franchement pour moi j'aurais bien voulu la virer aussi, mais il faut que je laisse un petit quelque chose dans ton fichier tout de même

Je n'ai pas fait le bouton supprimer mais si déjà le fichier te convient, tu le rediras et je finirai

a+

Papou

https://www.cjoint.com/c/GCksiV5Xu8T

37ssyla-v1.zip (681.59 Ko)

Re Ssyla le forum

j'avais oublié une ligne

a+

Papou

23ssyla-v2.zip (681.71 Ko)

Bonjour Ssyla le forum

bon alors du coup j'ai fini de modifier le fichier et voilà

à toi de tester

a+

Papou

PS : on peut supprimer la feuille Ajout si tu veux ????

20ssyla-v3.zip (681.72 Ko)

Re paritec,

Je vais regarder ton fichier cette après midi, je reviens vers toi par la suite mais je pense passer du temps pour comprendre l'ensemble des changements.

En tout cas merci beaucoup pour le temps que tu as consacré à mon fichier. tu assures

Je teste ça.

A+

Ssyla

Re Bonjour Ssyla le forum

et voilà la V5 avec plus de feuille Ajout !!! à la poubelle aussi !!!

à toi de tester

a+

Papou

29ssyla-v5.zip (684.75 Ko)

Bonjour Papou,

J'ai regardé ton fichier ce weekend, et c'est vraiment génial ce que tu as réalisé. Je me suis vraiment rendu compte que j'avais des codes à rallonges. Tu as réduit ça et le résultat correspond à mes attentes.

A ma grande surprise, j'arrive à comprendre les modifications que tu as apportées, j'ai mis un peu de temps à cause des changements de nom des textBox qui m'ont un peu surpris au début. Depuis j'ai fait 2 ou 3 modifications (les textBox téléphone pour éviter les lettres, les majuscules pour les noms,...), des détails.

C'est vraiment sympa de ta part. Je te remercie du temps que tu m'as consacré.

A+

Ssyla

Re Ssyla le forum

je suis content de ton retour et surtout que tu aies compris ce que j'ai fait.

Tu comprends mieux pourquoi, j'ai insisté pour obtenir ton fichier, car en se contentant de répondre à ta demande, tu n'aurais pas obtenu un bon résultat.

Une certitude merci de ton retour et n'oublies pas STP de cliquer sur résolu le petit V vert à coté d'éditer

Et aussi, tu as vu que sans la feuille Ajout, tu as une recherche aussi rapide et complète qu'avec!!!!

Pour les textboxs, oui mais regardes la logique en face, T1 colonne 1 T20 colonne 20

et surtout pour remplir une seule boucle, et cela c'est sans souci.

a+

Papou

Re Paritec,

Oui c'est beaucoup plus pratique, mon fichier est beaucoup plus clair et plus simple à prendre en main maintenant.

Encore merci.

J'ai coché la case "résolu" en espérant que cela serve plus quelqu'un d'autre

A+

Ssyla

Re Ssyla le forum

à ton service si tu as besoin, tu sais ou demander

a+

Papou

Rechercher des sujets similaires à "reunir tableaux seul"