Copier ligne selon valeur de la1ere colonne dans autre feuille

Fermé
marineperdue - 31 mars 2015 à 12:16
 marineperdue - 7 avril 2015 à 13:57
Bonjour,
Débutante en macro, pas moyen de réussir à mettre un code sur ce dont j'ai besoin.
Dans ma feuil3 se trouve à la suite plusieurs tableaux à la suite pour chacun de mes clients. Ce tableau a pour titre le nom du client, et chaque ligne du tableau correspond à un mois.
Je veux dans ma feuil2 où chaque ligne correspond à un client (même typo que titre des tableaux de la feuil3), coller la ligne qui correspond au mois (entrer en cellule a1 de la feuil1).

Pour reformuler je eux que ma macro:
0) aille feuil1 cherche en cellule A1 le mois demandé (enregistrer une variable)
1) aille feuil 2 chercher en colonne A le nom du premier client (enregistrer une variable)
2) se rende feuil3 pour chercher le titre de tableau correspondant au même nom client (les titres sont en colonne J).
3) une fois ce titre trouvé, cherche le mois correspondant à la variable enregistrée dans les 12 lignes suivantes (en colonne I).
4) une fois le mois trouvé, copie les colonnes L:AJ de la ligne correspondante
5) retourner feuil2 pour coller la copie sur la ligne à la suite du nom du client actuellement enregistré.

je serai grès à toute personne pouvant m'aider à résoudre ce problème...
A voir également:

2 réponses

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
1 avril 2015 à 08:42
Bonjour,

Pour reformuler je eux que ma macro:
Vous avez oublie: pour chaque client


Vous pouvez mettre un fichier modele a dispo ???

Pour transmettre un fichier,
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
Bonjour,
merci pour votre réponse. En effet, j'ai oublié "pour chaque client", donc une boucle
Je vous mets en pièce jointe un fichier qui reprend la structure de mon fichier initial.

http://cjoint.com/?0Dbj1HXrFbZ
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > marineperdue
Modifié par f894009 le 1/04/2015 à 10:53
Bonjour,

Je regarde la chose

A+
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
Modifié par f894009 le 1/04/2015 à 15:18
Re,

une facon de faire: https://www.cjoint.com/c/EDbpFulwWcU

A+
0
Merci beaucoup,
C'est exactement ce qu'il me faut, cependant je n'arrive pas à l'appliquer sur mon fichier initial. J'ai beau l'avoir enregistré dans le classeur et dans mon classeur personnel de vba, je ne le retrouve pas pour l'exécuter, ni ne s'execute automatiquement. Le soucis est que je ne peux pas enregistrer mon fichier ni en xltm, ni xlam, etc, car il est très lourd et en lien avec d'autres fichiers.

Excusez pour ma réponse tardive, j'ai été absente plusieurs jours... En tout cas chapeau! et un grand merci
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > marineperdue
Modifié par f894009 le 7/04/2015 à 11:11
Bonjour,

Comprends pas tout, pourquoi xltm ou xlam ???

j'ai été absente plusieurs jours... C'est beau Rome ??
0
Ce sont d'autres formats pour enregistrer la macro, mais autant pour moi j'ai réussi à enregistrer sous format xlsm.
Le soucis reste que je n'arrive pas à exécuter la macro. elle n'apparait pas dans mes macros, elle ne s'exécute pas automatiquement alors qu'il semble que tout correspond.
Comme je suis débutante, je loupe sûrement une étape pour que votre amrco s'exécute sur un autre fichier.

Et non je n'étais malheureusement pas à Rome, juste au fond de mon lit, avec une bonne fièvre :) .
0
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709 > marineperdue
Modifié par f894009 le 7/04/2015 à 11:48
Re,

avec une bonne fièvre Peut-etre du "Samedi soir" !

Le code, qui appelle le
Sub Traitement_Mois(Mois)
dans le module1, est dans le code VBA de la feuil3(feuil1) procedure Private Sub
Worksheet_Change(ByVal Target As Range)
.
0
En effet, j'avais zappé cette partie !
Ca fonctionne au poil maintenant que je comprends le code.
Encore merci!
0