Macro technique

boulboul7 Messages postés 8 Statut Membre -  
 foo -
bonjour je suis en train de travailler sur un classeur excel pour la gestion d'un centre de loisir.

je voudrais donc que sur l'onglet "listingn principale" lorsque j'affecte un groupe a un jeune, son nom et son prénom se mettent automatiquement dans le listing du groupe correspondant.

si vous avez besoin de plus de detail n'hesitez pas!
je vous joint le fichier : https://www.cjoint.com/?DEklWZ3VLfh

un grand merciiii encore pour l'attention que vous m'accorderez !

4 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Votre fichier avec la formule pour afficher le nom et le prénom

    https://www.cjoint.com/?3EkmBNJiAAz
    0
    1. boulboul7 Messages postés 8 Statut Membre
       
      merci beaucoup pour le temps passé sur mon projet, votre technique va m'aider pour un autre problème mais elle ne correspond pas exactement a ce que je recherché. la technique de Gyrus est la plus adapté. encore un énorme merci pour l'aide !
      0
  2. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Ton fichier en retour pour renseigner les fiches d'appel
    https://www.cjoint.com/?DEknqOCI8xy

    A+
    0
    1. boulboul7 Messages postés 8 Statut Membre
       
      cette solution est parfaitement adapté a mon problème, j'aimerais savoir comment avez vous fait pour que je comprenne et sache le refaire.
      en tout cas merci beaucouppppp !
      0
    2. Gyrus Messages postés 3360 Statut Membre 526
       
      J'ai utilisé une procédure évènementielle (Worksheet.Change) qui permet de détecter la modification d'une cellule dans la colonne I.
      Avec la valeur de cette cellule, on détermine le nom du groupe, soit le nom de la feuille cible.
      Il reste ensuite à faire la copie du nom et du prénom.

      Voici le code commenté :

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim LigneAjout As Long
      'Si le nombre de cellules modifiées est supérieur à 1, on sort de la procédure
      If Target.Count > 1 Then Exit Sub
      'Si la cellule modifiée appartient à la colonne "Groupe"
      If Not Application.Intersect(Target, Range("I6:I155")) Is Nothing And Target.Value <> "" Then
      'On détermine le nom de la feuille cible
      With Worksheets("groupe " & Target.Value)
      'On détermine le numéro de ligne où doit se faire la copie du nom et du prénom
      LigneAjout = .Range("E" & Rows.Count).End(xlUp).Row + 1
      'On copie le nom
      .Range("E" & LigneAjout).Value = Range("C" & Target.Row).Value
      'On copie le prénom
      .Range("F" & LigneAjout).Value = Range("D" & Target.Row).Value
      'On affiche un message pour indiquer que le traitement est réalisé
      MsgBox Range("C" & Target.Row).Value & " " & Range("D" & Target.Row).Value & " a été inscrit dans la fiche d'appel du " & .Name
      End With
      End If
      End Sub

      A+
      0
    3. boulboul7 Messages postés 8 Statut Membre
       
      un tres grand merci je vai essayer de maitrise le codage pour pouvoir le reutiliser par la suite mercii !!!!
      0
  3. foo
     
    Bonjour

    Voila une autre solution

    http://www.cjoint.com/?3Ekss19DbII

    A+
    Maurice
    0
  4. foo
     
    Bonjour

    encore une modif pour le nombre par groupe

    http://cjoint.com/?0Ell2S6NXNS

    A+

    Maurice
    0