Posez votre question Signaler

Macro VB - Répéter une macro [Résolu]

Dgeodgeo 1Messages postés 2 septembre 2008Date d'inscription - Dernière réponse le 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
Lire la suite 

Macro VB - Répéter une macro »

4 réponses
Réponse
+0
moins plus
J'ai la flemme d'expliquer... Peux-tu poster le classeur, ça sera plus simple?

Avec cjoint.com, par exemple.
Ajouter un commentaire
Réponse
+0
moins plus
Super!

Je te remmercie d'avance.

Ci_joint, le fichier en question : http://cjoint.com/?jcvJsBeRrO
Ajouter un commentaire
Réponse
+0
moins plus
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...

http://cjoint.com/?jdmLNZYLWl
Ajouter un commentaire
Réponse
+0
moins plus
Ok je ne connaissais pas cette fonction!
Ca fonctoinne super!
Merci pour ton aide précieuse.
Ajouter un commentaire
Ce document intitulé « Macro VB - Répéter une macro » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?