gros fichier excel copier et inserer des lignes - VB/VBA/VBS - Programmation
Marsh Posté le 17-07-2009 à 15:19:18
Si tu veux pas mettre les mains dans le VBA ça va être compliqué... Va falloir que tu t'y mettes. Déjà enregistre tes actions en macro et regarde le code correspondant. Après tu fais une boucle pour parcourir ton fichier et c'est à peu près fini.
Marsh Posté le 17-07-2009 à 15:53:54
On m'a conseille de partir de la derniere ligne et de remonter sa serait plus simple puisque le numero de la ligne du dessus ne change pas apres avoir coller les lignes.
Donc j'ai enregistrer ce programme avec les macros mais le probleme et de faire que cette operation remonte jusqu'au debut du fichier
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 17/07/2009 by test
'
' Keyboard Shortcut: Ctrl+z
'
ActiveWindow.SmallScroll Down:=9
Rows("1052:1052" ).Select
Selection.Copy
Selection.Insert Shift:=xlDown
Rows("1052:1053" ).Select
Application.CutCopyMode = False
Selection.Copy
Selection.Insert Shift:=xlDown
Rows("1052:1055" ).Select
Application.CutCopyMode = False
Selection.Copy
Selection.Insert Shift:=xlDown
End Sub
Marsh Posté le 17-07-2009 à 15:58:32
En passant CTRL+Z pour un raccourci macro c'est moyen vu que c'est la raccourci pour annuler.
Pourquoi t'as des n° de ligne en 1052 et quelques alors que tu as dit que ça va "de la ligne 2 a 787" ?
Edit:
Mais sinon teste un truc du genre :
Code :
|
C'est moche mais bon si ça marche et que tu veux pas t'embêter...
Marsh Posté le 17-07-2009 à 16:00:58
ok pour le racourci ben en fait ma derniere ligne et 1052 maintenant car j'ai commencer a copier et inserer les lignes manuellement
car il faut a tout pris que j'avance sur se travail
Marsh Posté le 17-07-2009 à 16:02:22
Donc comme je dois reconnaitre que je suis dans l'incapicite de faire un simple programme ben je fais le robot c'est a dire que je suis moi meme le programme.
Marsh Posté le 17-07-2009 à 16:03:50
Mais dans tous les cas merci quand meme de t'interresser a mon probleme meme si je pense qu'en fait il me reste plus que la methode manuelle vu mon niveau.
Mais bon comme on dit qui ne tente rien n'a rien
Marsh Posté le 17-07-2009 à 16:14:20
Bon ok je m'incline c'est vraiment genial
faut vraiment que j'apprenne a faire ca.
Marsh Posté le 17-07-2009 à 16:16:47
Ca a super bien marche tu me sauve pas la vie mais tu m'economise pas mal d'heure de ma vie pour faire autre chose.
merci beaucoup.
Je bosse en biologie et on a de plus en plus besoin de l'informatique comme dans tous les domaines mais quand je vois se qu'on peut faire a connaissant la programation c'est super cool.
Merci a toi encore
Marsh Posté le 17-07-2009 à 16:17:08
Ca prend effectivement du temps à apprendre ça mais quand tu vois le temps que tu gagnes après en utilisant les macros plutôt que de tout faire à la main tu te rends compte que ça vaut le coup.
Marsh Posté le 17-07-2009 à 16:21:50
Oui ben comme je le disais plutot je crois que le livre de cette ete sera le VBA pour les nuls a moins que tu ne me conseille un meilleur bouquin sur le sujet
Marsh Posté le 17-07-2009 à 17:01:01
Salut,
|
dans la version Anglaise d'Excel Feuil1 devrait se nommer Sheet1
Marsh Posté le 17-07-2009 à 17:04:36
Marine4980 a écrit : Oui ben comme je le disais plutot je crois que le livre de cette ete sera le VBA pour les nuls a moins que tu ne me conseille un meilleur bouquin sur le sujet |
Je ne sais pas pour les bouquins je n'ai pas appris avec des livres.
Marsh Posté le 17-07-2009 à 17:10:57
Re, Excel pour les nuls est un bon départ pour la suite voir en premier lieu http://www.bmsltd.co.uk/ExcelProgRef/Default.htm ou http://www.bmsltd.co.uk/Excel2007ProgRef/Default.htm puis http://www.bmsltd.co.uk/ProExcelDev/Default.htm
Marsh Posté le 17-07-2009 à 15:06:15
Bonjour,
Je suis perdu en Angleterre au milieu d'anglais qui ne peuvent pas m'aider et sur un clavier QWERTY, j'aurai besoin d'un sauveur.
Je vous explique aux mieux la situation, j' ai un gros fichier Excel avec 3 colonnes A, B et C et 785 lignes de la ligne 2 a 787 avec du texte et des chiffres, je souhaite pour chaque ligne contenant des informations insérer 7 lignes en dessous et copier le contenue de la premiere ligne et ceux-ci pour les trois colonnes. Le mieux je pense etant de copier toute la ligne.
Pour le moment je fais tout manuellement, c'est a dire que je selectionne la ligne entiere je la copie puis je fais inserer les cellules copier et cela 7 fois ca me prend un temps monstres.
je suis oblige d'inserer les lignes a coller parce-qu'en dessous de la ligne que je veux copier 7 fois il y a bien sur d'autres lignes avec des informations dedans que je ne veux pas effacer et que d'ailleurs je veux aussi copier et inserer 7 fois, etc..
En clair, je veux juste inserer le contenu de la premiere ligne 7 fois entre la 1ere ligne et la seconde, puis inserer 7 fois le contenue de la seconde ligne entre la seconde ligne et la troisieme ligne, puis faire ca pour les 784 lignes que j'ai au depart ce qui va me donner 784 lignes 8 fois donc un fichier de 6272 entré a la fin.
J'ai bien essayer de faire une macro avec le bouton enregistrer mais mon niveau et vraiment tres tres bas pour faire des macros, etVBA n'en parlons pas. Mais je suis sur que quelqu'un peu me proposer une solution, et si possible m'expliquer comment utiliser la solution car j'ai essayer des progammes VBA trouver sur des forums correspondants avec a peu pres le meme probleme mais aucune solution ne correspond vraiment et n'ont a vrai dire pas bien fonctionner.
Bref si une ame charitable voulez se donner la peine de m'aider, je gagnerai un temps precieux car j'ai d'autres feuilles a traiter de la meme maniere.
Merci d'avance et promis des mon retour en France je m'achete le VBA pour les nuls