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.
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.ValuePuis 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 SubAvec 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
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 withRe 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 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
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
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 ????
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
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