Macro VB - Répéter une macro

Résolu/Fermé
Dgeodgeo Messages postés 1 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 2 septembre 2008 - 2 sept. 2008 à 17:06
 Dgeogeo - 3 sept. 2008 à 19:50
Bonjour,

Je débute en macro et c'est la prise de tête!

Ce que je veux obtenir :

Feuille 1 : J'ai 1 tableau "planning" et feuille 2, une fiche.

Je veux qu'a chaque fois que je change de ligne et que je lance la macro, les info des cellules B/E/F/G selon la ligne sélectionnée se reporte sur la fiche.

Si je suis sur la cellule A2:
Je lance la macro :
Feuille 1 (D2) copier/coller sur Feuille 2 (F5)
Feuille 1 (F2) copier/coller sur Feuille 2 ( G9) ...

Et lorsque je change de ligne, je vais sur A4 par exemple :
je lance la macro et je devrais obtenir ceci :
Feuille 1 (D4) copier/coller sur Feuille 2 (F5)
Feuille 1 (F4) copier/coller sur Feuille 2 ( G9)

Je n'ai que la première étape, mais comment réaliser une boucle en fonction du changement de ligne.

Range("B2").Select
Selection.Copy
Sheets("Expédition").Select
Range("F3").Select
ActiveSheet.Paste
Sheets("planning").Select
Range("E2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Expédition").Select
Range("B6").Select
ActiveSheet.Paste
Sheets("planning").Select
Range("F2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Expédition").Select
Range("C6").Select
ActiveSheet.Paste
Range("B3").Select
Sheets("planning").Select
Range("G2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Expédition").Select
ActiveSheet.Paste
End Sub

Merci de votre aide.
Dgeodgeo
A voir également:

4 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
2 sept. 2008 à 17:24
J'ai la flemme d'expliquer... Peux-tu poster le classeur, ça sera plus simple?

Avec cjoint.com, par exemple.
0
Super!

Je te remmercie d'avance.

Ci_joint, le fichier en question : https://www.cjoint.com/?jcvJsBeRrO
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
3 sept. 2008 à 12:37
alors, on va... Faire plus simple.

Je t'explique ce que j'ai fait:
Je prévois une cellule (A1) dans la feuille Expédition. Cette ligne contiendra le numéro de la ligne de la feuille Planning concernée.

J'utilise la fonction INDIRECT, qui permet de récupérer le contenu d'une cellule en fonction d'indications diverses, en l'occurence le numéro de ligne.

Je dis donc, pour toutes les cellules de la feuille Expédition qui doivent être remplies par les valeurs de la feuille Planning en fonction du numéro de ligne indiqué en A1:

=SI(A1="";"";INDIRECT("planning!B"&A1))

Cette formule récupère la cellule B de la ligne de la feuille Planning dont le numéro a été indiqué en A1. Tu vois le preincipe???

Même pas besoin de macro!!!

Je ne l'ai fait que pour la date, à toi d'adapter pour le reste...

https://www.cjoint.com/?jdmLNZYLWl
0
Ok je ne connaissais pas cette fonction!
Ca fonctoinne super!
Merci pour ton aide précieuse.
0