EXCEL : Macro - recupération de données

Résolu/Fermé
Messages postés
166
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
23 octobre 2016
-
Messages postés
166
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
23 octobre 2016
-
Bonjour,

Je voudrais avoir une macro commande ou autre chose (si vous savez ce qui peut ou non se faire) pour un tableau de gestion de formations.

Voici comment est fait le classeur :
- une feuille principale avec les intitulé de formation par ordre alphabetique, ainsi que les nom des personnes y participant et les dates de session.
3 colonnes : intitulé, nom agent et dates


il y a plus d'une centaine de formations et plusieurs agents a chaque fois.

Je dois detacher pour chaque formation :

les infos de la colonne nom et celle de la colonne dates.

Jusqu'a présent, je selectionnais et faisai des copier/coller dans une feuille ou j'avais pré-entré une entête... mais au bout de 10 stages... dur ! dur !

savez vous comment je peux, sur la deuxième feuille, entrer une macro ou formule pour que en un clic ou deux (bouton macro ou saisi dans une cellule) les infos necessaires soient exportées directement sur la deuxième feuille ???? voir faire d'une pierre deux coups : en un clic que tout mes stages soient exportés les uns derrière les autres avec la même en-tête (même sur une même feuille).

Je remercie d'avance celui ou celle qui pourra me donner une solution..... ;-)





6 réponses

Messages postés
16553
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
29 janvier 2022
3 262
Bonjour à tous

Ci joint proposition: déclenchement au changement de référence
Le codes se trouvent dans le module feuille extraction (clic droit sur nom de l'onglet "extraction"; visualiser le code)
https://www.cjoint.com/?3DApQQvvAf8

Private Sub Worksheet_Activate()
Dim lig As Integer
     Sheets("parametre").Range("refs").ClearContents
     With Sheets("stages")
          ' liste des références uniques
          .Range("B1").AutoFilter
          .Range("A1:J1000").AdvancedFilter Action:=xlFilterCopy, Copytorange:=Sheets("parametre").Range("B1"), Unique:=True
     End With
     
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address <> "$A$1" Then Exit Sub
          Me.Range("A3:J200").Clear
          If Target <> "" Then
               With Sheets("stages")
                    .Range("A1").AutoFilter Field:=2, Criteria1:=Range("choix")
                    With .Range("A1:J1000")
                         .SpecialCells(xlCellTypeVisible).Copy Me.Range("A2")
                         .AutoFilter Field:=2
                    End With
               End With
        
          End If
End Sub
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
bonjour

peux tu envoyer une partie significative de ton fichier au format excel 2003
avec
feuille 1 quelques données (bidons si c'est confidentiel)
feuille 2 un début de ce que tu attends

bonne suite
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
re

1. continues la discussion directement sur le forum plutôt qu'avec des messages personnels, tu auras ainsi plus de chance
- d'avoir des réponses
- d'avoir des réponses plus variées
- de permettre aux intervenants de comparer leurs méthodes
2. pour envoyer ton fichier, tu utilises cijoint.fr et tu joins le lien fourni à ton prochain message

bonne suite
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 592
bonjour

Tu peux le faire avec un tcd même si ce n'est pas l'utilisation naturelle :

http://www.cijoint.fr/cjlink.php?file=cj201104/cij38RrQ3y.xls
Messages postés
166
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
23 octobre 2016

http://www.cijoint.fr/cjlink.php?file=cj201104/cijwR5hNVP.xls

Voici le fichier ci-dessus.

La feuille 1, c'est ma liste de formations, une fois que j'ai recu toutes les demandes (par contre,il faut imaginer que la liste est 10 fois plus longues).

Une fois que j'ai fait le recensement des demandes (feuille 1), je dois extraire en feuille 2, une fiche formation qui correspond à l'exemple que j'ai mis dans le fichier.
Ce que j'aimerai, c'est une macro (avec eventuellement un bouton de macro), qui, lorsque je tape la reference du stage que je voudrais extraire(cellule jaune feuille 2) , me permette de faire un copier/coller de la partie à extraire de la feuille 1 directement sous la ligne des titres de colonnes de la feuille 2.

Voilà, je vous remercie par avance pour tout ce que vous pouvez me proposer.

Bonne semaine à tous !
Messages postés
166
Date d'inscription
samedi 31 mai 2008
Statut
Membre
Dernière intervention
23 octobre 2016

desolée de ne repondre qu'aujourdhui... planning légérement chargé. Merci Michel, impeccable la macro. c ce que je voulais.

Merci à tous pour vos interventions.