Selections certaines lignes excels pour les copier et les coller dans un autre f
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008
-
14 juil. 2008 à 16:49
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008
-
20 juil. 2008 à 10:43
Bonjour, j'ai un probleme actuellement avec VB6, car je suis debutant. Alors mon projet c'est de faire un copier coller des lignes d'un fichier excel dans un autre fichier. Mon fichier excel est composé de plusieurs lignes et je dois regrouper certaines lignes qui representent les titres d'ouvrages dans un seul paragraphe afin dans un seul colonne et ensuite les lignes comportant les noms d'auteurs dans un seul colonne et ainsi de suite.....
I need help please. ça fait des semaines je cherche mé je trouve pas, afin j'arrive pas à faire une boucle qui parcours toutes les lignes et recopie une ligne sur 2 ou 3.....etc
A vous de jouer svp
A voir également:
Selections certaines lignes excels pour les copier et les coller dans un autre f
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 14 juil. 2008 à 19:15
salut,
t'en es où là dans tes codes ?
Le principe de la boucle est simple, déjà faut rechercher la dernière ligne utilisée dans ta colonne (je pars du principe que tu as déjà déclaré tes objets Excel et Classeur)
Dim DerLigne As Integer
DerLigne = xlBook.Sheets("nom feuille").Range("A65536").End(xlUp).Row 'A.. pour la colonne A, mais à changer au besoin
Dim i as integer, iIncrementation as integer
iIncrementation = 1
For i = 1 to DerLigne
If xlBook.Sheets("nom feuille").Range("A" & i).Value = "Tes noms d'auteurs" Then
xlBook.Sheets("AUTRE feuille").Range("A" & iIncrementation).Value = xlBook.Sheets("nom feuille").Range("A" & i).Value
iIncrementation = iIncrementation + 1
End if
Next i
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 15 juil. 2008 à 02:46
merci,mais le probleme est que pour les "noms d'auteurs ou titres" y en a plus de 300 noms d'auteurs differents mais on les trouve à la 3°ligne de chaque paragraphe du texte,de meme que les titres à la 2°ligne.La boucle devrait prendre a chaque fois la 3° puis 6° puis 9° .....ect ligne pour les mettre dans la colonne auteur.C'est la le plus grand probleme pour moi. Je vois pas comment le faire à ce niveau pour chacun a savoir titre , auteur , date de publication.
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 15 juil. 2008 à 21:17
salut, je te reexplique et je te dis ma progression:
obExcelApp est le fichier qui contient deja le texte dans le desordre avec une ligne pour les auteurs une pour les titres une pour la date de publication et ainsi de suite.Et je dois les mettres par colonne c'est a dire dans la colonne de la cellule "A" que les titres et dans la colonne de la cellule "B" que les auteurs et ensuite "C" ......
Alors dans mon code j'ai fais une boucle du genre:
If obExcelApp.Application.Visible = True Then
For i = 2 To 40216 Step 10
obExcelApp.Rows("1" & i ).Select
obExcelApp.Rows("1" & i ).Copy
obExcelInd.Sheets("Feuil1").Range("A" & iIncrementation).Value = obExcelApp.Sheets("Feuil0").Range("A" & i ).Value
iIncrementation = iIncrementation + 1
Next i
Pour remplir la colonne de la cellule "A" par mes titres et ça marche bien mais le probleme est que ça parcourt que 1000 lignes et ça me dit que indice depassé, !!bizarre alors que j'ai 40216 lignes dans mon application Excel obExcelApp.
Et je poursuit mon code par ceci:
For j = 4 To 40216 Step 10
obExcelApp.Rows("1" & j ).Select
obExcelApp.Rows("1" & j ).Copy
obExcelInd.Sheets("Feuil1").Range("B" & jIncrementation).Value = obExcelApp.Sheets("Feuil0").Range("B" & i ).Value
jIncrementation = jIncrementation + 1
Next j
Mais il meremplit pas la colonne "B" , le reste ne marche pas nin pour "C" aussi
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 16 juil. 2008 à 12:17
Merci , j'ai trouvé une solution il fallait mettre "A" partout dans la feuille "Feuil0" mais ya toujours un probleme car dans ma boucle for je peux pas depasser 10000, si je vais au dela il m'affiche un message d'erreurs :depassement de capacité, alors que le texte que je dois parcourir fait 48216 lignes!!
Une autre question svp , j'ai plein de
dans le texte et que je veux supprimer , avez -vous une idée ,j'ai essayer avec delete mais il parait que c'est pour supprimer des fichiers?
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 20 juil. 2008 à 10:43
Bonjour, j'ai un probleme en vb6 alors dans mon projet :
J'avais un fichier html que j'ai converti en excel.J'ai reorganisé les
lignes de mon fichier html en excel, c'est a dire dans ma colonne A
j'ai mis mes titres d'ouvrages , dans la colonne B j'ai mis les noms
d'auteurs et dans la colonne C ya un lien qui doit pointer sur le
disque dur ou sur le lecteur cd car j'ai pleins de fichiers .pdf sur un
cd sur lesquels doivent pointer ces liens qui me permettrons d'ouvrir
un fichier pdf en cliquant sur le lien . Mon probleme est que je sais
comment faire activer ces liens html en VB6 car j'ai plus de 50000
fichiers pdf qui sont tous differents avec des noms differents bien
sur. Si vous pouvez m'aidez svp!!!