Recopie avec boucle

Bonjour à toutes et tous,

Je dois refaire une base de données ou il manque des éléments, comme il y a beaucoup de recopie j'aimerai automatiser ça.

En colonne A, j'ai les produits, en colonne B le prix et en colonne C je dois y ajouter les vendeurs.

J'ai recopié mon tableau initial (Cellule A2 à B151) et je l'ai recopié de la cellule E2 à F151.

Le but du code que je veux réaliser est de couper E2:F2 pour le replacer en A2:B2, étendre cette ligne jusqu'en A961:B961 et en même temps dans la colonne vendeur y mettre Vendeur 0001 jusqu'à Vendeur 0960.

Ensuite supprimer E2:F2 et décaler vers le haut.

Cette opération doit être réaliser pour mes 150 produits.

Je ne sais pas comment faire mon code pour que cela puisse se refaire à partir de la cellule A962 etc..

En pièce jointe mon ficher.

Je suis sous Excel 2016

Merci pour votre aide

Cyrille

Sub Macro1()
    Range("J2:P2").Select
    Selection.Cut
    Range("A2").Select
    ActiveSheet.Paste
    Selection.AutoFill Destination:=Range("A2:G961"), Type:=xlFillCopy
    Range("A2:G961").Select
    Range("J2:P2").Select
    Selection.Delete Shift:=xlUp
        ActiveCell.FormulaR1C1 = "Vendeur 001"
    Range("C2").Select
    Selection.AutoFill Destination:=Range("Tableau1[Vendeurs]"), Type:= _
        xlFillDefault
    Range("Tableau1[Vendeurs]").Select

End Sub

Un petit up s'il vous plait, je n'arrive pas à faire mon code, même en les différents post.

Merci

Bonjour

Range("E2:F151").Select
    Selection.Cut
    Range("A2").Select
    ActiveSheet.Paste

A rajouter , mais je ne vois pas comment ajouter les produits inexistants dans ton fichier ???

A+

Merci pour ta réponse patty5046,

mais ce n'est pas cela que je recherche, je ne veux pas couper et coller mon tableau.

Comme je l'ai indiqué dans mon premier post :

Le but du code que je veux réaliser est de couper E2:F2 pour le replacer en A2:B2, étendre cette ligne jusqu'en A961:B961 et en même temps dans la colonne vendeur y mettre Vendeur 0001 jusqu'à Vendeur 0960.

Ensuite supprimer E2:F2 et décaler vers le haut.

Cette opération doit être réaliser pour mes 150 produits.

Cette opération représente 144 000 lignes, c'est pour ça que je veux passer par une macro

Je ne comprends pas ta question sur les produits inexistants.

Bonjour Cyrille,

Je te retourne ton fichier modifié :

Fais Ctrl e pour lancer la macro.

Je ne pense pas que la colonne Prix soit bonne, mais c'est le résultat obtenu en suivant tes indications.

En effet : tu parles de couper / coller E2:F2 en A2:B2 ; donc le prix de F2 est déplacé en B2 ; ensuite, tu as écrit : « étendre cette ligne jusqu'en A961:B961 » ; c'est où le prix de B2 149,95 € est étendu lui aussi ➯ incrément de 1 € : 150,95 € ; 151,95 € ; 152,95 € ; etc...

Après avoir fait ta demande « supprimer E2:F2 et décaler vers le haut », je me suis arrêté, car ta demande suivante « Cette opération doit être réalisée pour mes 150 produits » revient à mettre tous les prix de la colonne F en colonne B ; or cela était fait par le code VBA de Patty5046, mais tu lui as répondu : « ce n'est pas cela que je recherche, je ne veux pas couper et coller mon tableau ».

Alors que veux tu exactement ? mystère ! à toi de mieux l'expliquer !

Alt F11 pour voir la macro, puis revenir sur Excel

À te lire pour de futures adaptations.

dhany

Bonjour dhany,

je regarde ça de plus près, ton idée se rapproche de ce que j'attends, soit j'arrive à adapter ton bout de code, soit j'essaye d'être plus précis dans ma demande.

Merci

Bonjour Dhany,

Mes lacunes en VBA sont énormes, ton bout de code va me permettre d'améliorer mes explications sur le résultat que j'aimerai obtenir.

1) Pour les prix qui changent ce n'est pas grave (ceci n' a pas une grande importance pour moi car ce n'est qu'un fichier de démonstration).

2) Supprimer les cellules E2 : F151 je pourrai le faire manuellement.

3) Ce que j'aimerai voir apparaître :

De A2:B152 une recopie des cellules E2 : F2 avec sur ces 150 lignes Vendeur 0001

De A153:B302 une recopie des cellules E3:F3 avec sur ces 150 lignes Vendeur 0002, et ainsi de suite jusqu'au vendeur 0960.

Tu vas peut être te demandé pourquoi autant de lignes (cela en ferra 144 000) mais mis en relation avec d'autres BD que j'ai créé, je test la puissance de PowerPivot, mais je me suis rendu compte qu'il me manquait une relation entre mon fichier articles et mon fichier vendeur et au vu de l'importance du travail à faire, une petite macro pourrait me faciliter la tâche.

Si je n'ai pas été assez clair dans mon explication, n'hésites pas a me demander plus de précision.

J'ai remis en pièce jointe le fichier avec sur la feuille 2 une illustration de ma recherche sur 451 lignes.

Merci pour ton aide

Bonjour

Voici le fichier avec nouvelle macro:

A voir

A+

Merci Patty et Dhany,

La solution de Patty fonctionne à merveille.

Je vais indiquer mon Post comme résolu.

Encore un très grand merci

Enchantée de t'avoir aidé.

Bonne soirée

Bonsoir Cyrille,

Le fichier Excel ci-dessous a 2 gros avantages :

1) Adaptation automatique selon la hauteur de la table produits E2:F151 :

tu peux donc, au choix, ajouter ou supprimer des articles.

2) Tu peux ajuster dans le code VBA le nombre de Vendeurs :

il suffit de changer le 960 de la ligne avec « Const ».

Ctrl e ➯ travail effectué (en moins de 3 secondes)

Merci de me donner ton avis.

dhany

Bonjour Dhany,

Je n'ai pas un PC de compétition et à première vue même si je met plus de 3 secondes pour réaliser cette macro, elle a l'air plus légère pour mon pauvre PC.

Je vais pouvoir adapter ton code à un autre classeur.

Néanmoins je te remercie ainsi que Patty de m'avoir consacrer un peu de votre temps pour m'aider.

Bonjour Cyrille,

Je ne sais pas quel PC tu as.

Le mien a un processeur Intel Core i5-3450 @ 3.10 GHz et RAM 8 Go ;

c'est donc un PC performant, mais pas un PC de compétition !

Le système d'exploitation est Windows 7 et j'ai Excel 2007.


Je suis bien content que ma macro soit plus légère pour ton PC !

et le point fort est l'adaptation automatique à la table Produits.

Je te souhaite bonne chance pour l'adaptation de mon code

à un autre classeur !

dhany

Rechercher des sujets similaires à "recopie boucle"