Fusionner plusieurs feuilles en une seule [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 06-07-2006 à 14:18:58
tu cherches à fusionner les feuilles ou tout simplement à récupérer les valeurs de tes feuilles 2 et 3 pour les mettre sur la feuille 1 ??
Marsh Posté le 06-07-2006 à 15:04:49
Citation : tu cherches à fusionner les feuilles ou tout simplement à récupérer les valeurs de tes feuilles 2 et 3 pour les mettre sur la feuille 1 ?? |
J'aurais préféré la fusion des feuilles mais si c'est trop compliqué la copie de toutes les valeurs dans la feuille 1 me convient aussi...
Citation : remplies jusqu'où? (entends par là le numéro de ligne) |
Chaque feuille comprend entre 50 et 100 lignes. Les valeurs de la feuille 2 doivent donc etre copiée après les 100 premiers lignes de la feuille 1. Un petit schéma si je me fais mal comprendre :
*feuille 1*
ligne 1
ligne 2
ligne 3
...
ligne 100
données copiées de la feuille 2
ligne 200
données copiées de la feuille 3
Voila j'espère avoir été assez clair
Merci en tout cas
Marsh Posté le 06-07-2006 à 15:09:09
tu fais
range("feuil2!A1:A100" ).select que tu copy et paste dans range("feuil1!A101:A200" ) truc comme ca
(comment ca je donne que la moitié des infos ?
Marsh Posté le 10-07-2006 à 10:49:16
C'est encore moi. Tout d'abord merci pour votre aide j'ai réussit a copier le contenu de mes 3 feuilles dans une seule, seulement j'aimerai maintenant automatiser une procédure pour que la copie se fasse quelque soit le nombre de feuille. Voici ce que j'ai fait pour la copie des trois feuilles :
Citation : Worksheets("Feuil1 (2)" ).Range("A101: O200" ).Value = Worksheets("Feuil1 (3)" ).Range("A1: O100" ).Value |
En gros le contenu ( de la plage A1: O100 ) de la feuil1 (3) est copié dans la feuil1 (2) 100 lignes plus bas. Idem pour la feuill1 (4).
J'ai donc pensé à faire une boucle histoire de faire un traitement automatique. Voila a quoi elle ressemble :
Citation : For i = 3 To NbreFeuille |
Donc j'ai plusieurs questions :
1° Comment connaitre le nombre de feuille d'un classeur ? J'en ai besoin ici "For i = 3 To NbreFeuille"
2° Le coup du "Range("compt1:compt2" ).Value " ne marche pas ( tant pis j'aurais tenté ). Des suggestions ?
3° J'ai enfin une incompatibilité de type lors de l'incrémentation des compteurs ici "compt1 = compt1 + 100". ( J'ai défini les 2 compteurs en String ) Je dois les définir comment ?
4° Avec ou sans patates ?
Merci d'avance...
Marsh Posté le 10-07-2006 à 10:53:03
pour le nb de feuille : Worksheets.Count
Attention il y a aussi celle dans laquelle tu copies.
Marsh Posté le 10-07-2006 à 10:57:55
For i=2 to worksheets.count
worksheets("Feuil1" ).range(ZoneDeb & ":" & ZoneFin).value=Worksheets(i).range(ZoneDebi & ":" & ZoneFini).value
next
avec ZoneDeb = "A1" (par exemple) et ZoneFin à mettre à jour à chaque passage dans la boucle.
Et ZoneDebi et ZoneFini qui sont les zones à prendre en compte dans chaque feuille.
Marsh Posté le 10-07-2006 à 11:13:19
je te propose ceci
For i=2 to worksheets.count
worksheets("Feuil1" ).range("A" & (100*i-99) & ":O" & 100*i).value=Worksheets(i).range("A1:O100" ).value
next
4° sans patates ^^
Marsh Posté le 06-07-2006 à 14:07:35
Salut les jeunes j'aurais besoin de vos lumières ! ( je suis une vraie tanche en programmation )
Je vous explique mon problème :
Dans un même classeur, je possède trois feuilles remplies. J'aimerai fusionner toutes les données contenues dans les trois feuilles en une seule.
Voila je pense que ca doit pas etre bien difficile mais de l'aide serait la bienvenue...
Merci d'avance
Message édité par coxi9 le 11-07-2006 à 11:29:48