[VBA] retourner des valeurs dans plusieurs tableaux et feuilles

Bonjour,

Je souhaites creer un carnet d'activités collectives pour un groupe de personnes.

Elles disposent chacune d'un carnet individuel de suivi des activités afin de comptabiliser leurs heures de pratique.

Le responsable des activités rempli le carnet collectif et automatiquement les carnets individuels se mettent a jour en fonction des participants, ça c'est l'objectif final.

Pour le moment j'en suis au carnet collectif avec l'extraction des participants qui se fait dans une seule cellule (tous les participants figurent dans une seule cellule avec un saut de ligne entre chaque) pour des raisons de lisibilité et d'éventuelles impressions.

Je ne sais pas comment faire pour que chacune des personnes sélectionnées dans mon userform voient les informations saisies également importés dans leur carnet individuel matérialisé par un tcd dans une feuille de calcule chacun.

J'imagine bien qu'il faille déclarer chacun des participants et toutes les feuilles et leur tableau, mais je pense avoir besoin d'un coup de pouce, même si ce n'est que quelques indices je suis preneur

Je suis assez novice en VBA mais j'ai déjà fait ceci en pièce jointe, je sais que je ne suis pas loin mais il me manque des connaissances.

Merci pour votre aide

Voilà en premier ce que je fais pour extraire les noms sélectionnés dans ma listbox1 . Mon problème c'est qu'en fonction des noms sélectionnés j'aimerais remplir le tableau individuel de chaque participants dans sa feuille correspondante et là c'est une autre paire de manche...

For i = 0 To ListBox1.ListCount - 1
               If ListBox1.Selected(i) = True Then
                   nouvligne.Range.Cells(1, 7) = nouvligne.Range.Cells(1, 7) & ListBox1.List(i) & Chr("10")

               End If
           Next i
Option Explicit

Dim i, f

Private Sub UserForm_Initialize()
    Dim tab_IMP3 As ListObject
    Dim Ligne_responsable As ListRow
    Dim Ligne_participants As ListRow

    Set f = Sheets("Noms")
    Set tab_IMP3 = Sheets("Noms").ListObjects("Tableau4")

    For Each Ligne_responsable In tab_IMP3.ListRows
    Debug.Print Ligne_responsable.Range.Cells(1, 1).Value
       Combobox_responsable.AddItem Ligne_responsable.Range.Cells(1, 1).Value
    Next
        Combobox_responsable.Value = "IMP3"

    ListBox1.List = f.Range("D2:D" & f.Range("D" & Rows.Count).End(xlUp).Row).Value
    ListBox1.MultiSelect = fmMultiSelectMulti
End Sub

'ajouter au tableau
Private Sub bouton_ajouter_Click()
Dim montableau As ListObject
Dim nouvligne As ListRow

Set montableau = Sheets("Collectif").ListObjects("Tableau2")
Set nouvligne = montableau.ListRows.Add

nouvligne.Range.Cells(1, 1) = TextBox_date
nouvligne.Range.Cells(1, 2) = TextBox_theme
nouvligne.Range.Cells(1, 3) = TextBox_lieu
nouvligne.Range.Cells(1, 4) = TextBox_heures
nouvligne.Range.Cells(1, 5) = TextBox_IE
nouvligne.Range.Cells(1, 6) = Combobox_responsable

For i = 0 To ListBox1.ListCount - 1
               If ListBox1.Selected(i) = True Then
                   nouvligne.Range.Cells(1, 7) = nouvligne.Range.Cells(1, 7) & ListBox1.List(i) & Chr("10")

               End If
           Next i

      Unload Saisie
  End Sub

Quelqu'un aurait une petite idée ? je sèche un peu !

Bonsoir,

Ci-joint une proposition à tester.

NB : il doit exister un onglet correspondant à la personne sélectionnée dans la liste. Dans le cas contraire, on affiche un message d'information.

Bonne soirée

Bouben

Ah oui !! c'est carrément ça ! merci beaucoup.

J'ai changé les noms et évidemment ça ne marche pas avec "nom prénom", donc j'ai mis que le Nom, mais du coup j'ai systématiquement l'erreur " onglet n'existe pas" alors qu'il existe.

Le nom du responsable doit subir le même traitement, avoir son onglet propre. Je vais essayer de voir ça moi même en imitation.

Merci bien

En fait c'est bon avec nom et prénom.

Il reste un problème, les données dans les onglets "nom" sont inscrites dans un TCD, mais je n'arrive pas a faire en sorte que les données s'inscrivent dans la première ligne, elles se mettent sur la seconde ! (hors entête)

Rechercher des sujets similaires à "vba retourner valeurs tableaux feuilles"