Macros sous Excel - Listing à compléter...

Fermé
C_Claraa Messages postés 144 Date d'inscription jeudi 18 octobre 2012 Statut Membre Dernière intervention 22 avril 2024 - 2 juin 2015 à 18:43
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 5 juin 2015 à 00:18
Bonjour à toutes et à tous et merci d'avance pour votre aide =)

Une question toute simple, mais plus compliquée à réaliser de mon côté.
L'exemple que je vous propose ici ce rapproche de mon cas dans la forme : http://www.cjoint.com/c/EFcqCn5kNnk

- Vous avez deux listings : Le Listing 1 avec beaucoup de références. Le Listing 2 avec moins de références, et dont certaines sont issus du Listing 1 à posteriori.

- Je souhaiterai donc pouvoir Copier-Coller des informations d'une ligne du Listing 1 dans le Listing 2 (Disons le "Jean Dupond")
- L'utilisateur doit donc sélectionner la personne (Jean Dupond)
- Et ce, à l'aide d'une macro-bouton du type "Rajouter la personne sélectionnée au Listing 2"

- Jean Dupond sera d'abord collé vraiment beaucoup de lignes en dessous de la dernière du Listing 2 (pour permettre le copier-coller sans écraser d'autres données déjà dans le Listing 2)
- Le listing 2 sera trié automatiquement (Tri Personnalisé jusqu'à la ligne Jean Dupond crée / Selon la colonne Prénom par ordre alphabétique) : ça je sais faire

Sauf que je ne sais pas comment le mettre sous forme de macro car l'opération copier-coller enregistrée en macro utilisera toujours les cellules sélectionnées lors de l'enregistrement de la macro.


Je vous remercie beaucoup d'avance pour vos précisions qui me seront très précieuses =D
Bien cordialement,
Clara


Autre piste mais qui me plait moins (car plus d'opérations à réaliser): je sais que le système de liste en cascade existe sous Excel.
Est-il possible :
- dans le Listing 2, de remplir la colonne prénom avec une liste déroulante créée avec les prénoms du Listing 1
- puis à partir de ces prénoms, une seconde liste déroulante dans "Nom" donnerait les noms du Listing 1 accompagnant le prénom selectionné dans l'étape précédente
A voir également:

1 réponse

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
2 juin 2015 à 20:24
Bonsoir

Une possibilité :
http://www.cjoint.com/c/EFcsxWyqNsK

Cdlmnt
Via
0
C_Claraa Messages postés 144 Date d'inscription jeudi 18 octobre 2012 Statut Membre Dernière intervention 22 avril 2024
3 juin 2015 à 11:16
Bonjour Via55 !
Je te remercie beaucoup pour ta réponse, après quelques modifications pour les adapter à mon cas en plongeant dans le code durant quelques heures, j'ai réussi à l'adapter parfaitement =)

Question subsidiaire, si j'avais eu un "Listing 3" que je souhaiterai remplir de la même manière que le "Listing 2". Quelle serait la procédure à adapter étant donné que le "Double-Clic" est déjà utilisé pour le remplir le Listing 2.

Une nouvelle fois : merci et merci d'avance ! =D
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734 > C_Claraa Messages postés 144 Date d'inscription jeudi 18 octobre 2012 Statut Membre Dernière intervention 22 avril 2024
3 juin 2015 à 12:23
Bonjour Claraa

Tu peux alors en debut de macro faire ouvrir une boite de dialogue demandant le nom de la feuille où transférer style :
nomfeuille=Inputbox("Indiquer le nom de la feuille de transfert")
et dans la suite de la macro tu remplaces tous les Sheets("Listing 2") par Sheets(nomfeuille)

Cdlmnt
Via
0
C_Claraa Messages postés 144 Date d'inscription jeudi 18 octobre 2012 Statut Membre Dernière intervention 22 avril 2024
4 juin 2015 à 23:55
Pour donner un retour : après adaptation, l'astuce fonctionne parfaitement !
Je ne connaissais pas l'astuce du InputBox !
De même que celle du BeforeDoubleClick

Dans la même idée de découverte, j'ai vu d'autres fonctions du type "BeforeDelete", je ne parle pas de la perspicacité de ce dont je parle ci-dessous :
Toujours dans mon histoire de Listing, avec une vingtaine de lignes remplies, disons que je veux supprimer une entrée (effacer les données dans une ligne), sans supprimer la ligne mais simplement en effacant le contenu. Est-il possible, en utilisant la touche "effacer" sur une cellule de cette ligne, d'effacer tout le contenu des cellules de la ligne correspondante ?
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734 > C_Claraa Messages postés 144 Date d'inscription jeudi 18 octobre 2012 Statut Membre Dernière intervention 22 avril 2024
5 juin 2015 à 00:18
Bonsoir

Il te suffit de te cliquer sur le n° de la ligne à gauche, cela sélectionne la ligne entière et touche Suppr
0