Copier/coller Excel VBA

Fermé
Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011 - 11 mai 2010 à 16:11
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 12 mai 2010 à 09:29
Bonjour à tous voici mon premier post sur ce site

je cherche à copier coller des cellules sous excel 2007 (je pense qu'il faut utiliser du VBA

jai un classeur de 300 feuilles +1

la première feuille récapitules les 300 autres je nest que celle la pour linstant les autre etant quasi vierge

chaque ligne reprend une des 300 feuilles nomées de 0001 à 0300
au debut de chaque ligne (colonne A) est inscrit les numéro de la page qu'elle récapitule.

exemples de copier que je voudrais reproduire 300 fois :
la ligne numérotée 0001 de la feuille nommée "stock" : copier la cellule de la colonne I en B2 de la feuille "0001" ; copier la cellule J en G2 de la feuille 0001 ; copier la cellule K en E2 de la feuille 0001 ; copier la cellule L en J2 de la feuille 0001, copier la cellule N en J3 de la feuille 0001 et enfin la cellule P en J4 de feuille 0001.
je ne precise pas le chiffre relatif aux cellules I ; J ; K ; L ; N ; P car je ne peu pas me basé sur la numérotation d'XL etant donné que jai des bouton pour trier je pense qu'il faut se basé sur le numéro présent en colonne A.

merci de vous penchez sur mon problème
Jacky

A voir également:

5 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
11 mai 2010 à 16:48
Bonjour,
Je ne comprend pas !
Les données sont à copier sur la feuille Stock ? : à partir de quel ligne ?
Les données des autres feuilles sont sur quel ligne ?
Tu dis.
A+
0
Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011
11 mai 2010 à 16:58
non les données sont à copier depuis la feuilles stock

la feuille stock est composée de 300 lignes. Les lignes sont numéroté en colonne A de 0001 à 0300.

dans le meme classeur j'ai 300 feuilles nommée de 0001 à 0300

Sur la ligne numérotée 0001 je veu copier les cellules qui sont colonne I; J; K; L; N; et P (en gros cest peut être les celulle I1;J1;K1;L1;N1 et P1 mais ca peut aussi etre I300;J300;K300;L300;N300et P300 selon la façon dont je les tri) dans les cellules B2 ; G2 ; E2 ; J2 ; J3 ; J4 de la feuille 0001

Idem pour la ligne 0002 de la feuille "Stock" mais sur la feuille "0002"

Est ce plus clair?
Jacky
0
madeliocustom Messages postés 41 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 23 avril 2012 13
11 mai 2010 à 17:49
Bonjour Jacky,

de mon point de vue, une chose a la fois :
en 1 - tu alimentes la feuille stock
en 2 - tu tries
et alors pas de probleme particulier pour faire l'algorithme de copie (a moins que je n'ai pas bien saisi, faudra dans ce cas re-expliquer).

As-tu deja un algorithme que tu veux qu'on corrige ou bien pars-tu de 0 ?

A+
Madelio
0
Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011
12 mai 2010 à 08:27
bonjour

ma feuille de stock sera amener à changer par la suite (ajout ou suppression de lignes) de ce fait je préférerais pour voir continuer à trier après.

N'y aurait il pas quelquechose a faire dans le genre :

Si cellule de la colonne A=0001
alors Feuille Stock.cellule I ; J ; K ; L ; N ; P.select
Feuille 0001.cellule(B2 G2 E2 J2 J3 J4) collage spécial.value

et puis un ptit truc pour lincrémenter ensuite ???

je sais pas du tou je suppose
merci
Jacky
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jacky1002 Messages postés 94 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 3 avril 2011
12 mai 2010 à 08:40
rebonjour

je voudrais d'une prog de copie, en fait pour linstant ca peu me dépanner

je vais commancer à la ligne 7 (numérotation XL)

Sur la feuille "Stock" copier I7 J7 K7 L7 N7 P7 et les coller Feuille "0001" en B2 G2 E2 J2 J3 J4.

ensuite Feuille "Stock" copier I8 J8 K8 L8 N8 P8 et les coller feuille "0002" en B2 G2 E2 J2 J3 J4

pour copier, incrémenter les ligne de 1... pour coller les cellule reste les meme mais les feuilles sont à incrémenter de 1 sachant qu'elle sont numérotée de 0001 à 0300

merci de votre aide
Jacky
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
Modifié par michel_m le 12/05/2010 à 09:37
Bonjour,

Macro à installer dans le module thisworkbook de l'éditeur VBE

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'NOTA: sur la feuille "Stocks", les références d'onglets doivent être en format "texte"
Dim onglet As String, lig As Integer

onglet = ActiveSheet.Name
If onglet <> "stocks" Then
    With Sheets("stocks")
        lig = .Columns(1).Find(onglet, .Range("A65536")).Row
        Sheets(onglet).Range("B2") = .Cells(lig, 9)
     '..... tes autres cellules
    End With
End If
End Sub

modif : ajouter exclusion si sheets onglet est activé
0