Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2454 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] Fusionner plusieurs feuilles en une seule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Fusionner plusieurs feuilles en une seule

n°1401969
coxi9
Posté le 06-07-2006 à 14:07:35  profilanswer
 

Salut les jeunes j'aurais besoin de vos lumières ! ( je suis une vraie tanche en programmation  :sweat: )
 
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  :jap:


Message édité par coxi9 le 11-07-2006 à 11:29:48
mood
Publicité
Posté le 06-07-2006 à 14:07:35  profilanswer
 

n°1401976
nexius26
Yeah !!!!!!!!!
Posté le 06-07-2006 à 14:17:51  profilanswer
 

remplies jusqu'où? (entends par là le numéro de ligne)

n°1401978
jpcheck
Pioupiou
Posté le 06-07-2006 à 14:18:58  profilanswer
 


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 ??

n°1402014
coxi9
Posté le 06-07-2006 à 15:04:49  profilanswer
 

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  :sweat:  
 
Merci en tout cas  :hello:

n°1402016
jpcheck
Pioupiou
Posté le 06-07-2006 à 15:09:09  profilanswer
 

tu fais  
range("feuil2!A1:A100" ).select que tu copy et paste dans range("feuil1!A101:A200" ) truc comme ca :p
(comment ca je donne que la moitié des infos ?  :pt1cable:  

n°1403595
coxi9
Posté le 10-07-2006 à 10:49:16  profilanswer
 

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
 
Worksheets("Feuil1 (2)" ).Range("A201: O300" ).Value = Worksheets("Feuil1 (4)" ).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
 
   compt1 = A101
   compt2 = O200
 
   Worksheets("Feuil1 (2)" ).Range("compt1:compt2" ).Value = Worksheets("Feuil1 (i)" ).Range("A1: O100" ).Value
 
   compt1 = compt1 + 100
   compt2 = compt2 + 100
 
   Next i
 


 
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é  :pfff: ). 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...
 

n°1403600
Paul Hood
Posté le 10-07-2006 à 10:53:03  profilanswer
 

pour le nb de feuille : Worksheets.Count
Attention il y a aussi celle dans laquelle tu copies.

n°1403607
Paul Hood
Posté le 10-07-2006 à 10:57:55  profilanswer
 

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.


Message édité par Paul Hood le 10-07-2006 à 11:15:12
n°1403629
jpcheck
Pioupiou
Posté le 10-07-2006 à 11:13:19  profilanswer
 

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 ^^

n°1403925
coxi9
Posté le 10-07-2006 à 15:31:56  profilanswer
 

Merci pour votre aide ca marche !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Résolu] Fusionner plusieurs feuilles en une seule

 

Sujets relatifs
[Résolu]Affichage ou non d'un scrollBarLire plusieurs lignes d'un fichier txt avec de l'AJAX
[RESOLU] concatenation[Résolu] Génération fichier PDF depuis fichier XML, en utilisant FOP
[php/mysql] Conserver les parametres de tri sur plusieurs pages[résolu] Passage de variable javascript vers flash avec iframe
[Résolu] [Eclipse] Un peu d'ordre ![RESOLU] Javascript/DOM -> enlever des tags
[résolu]fixer colonneCouper une image pour en faire une vignette[résolu]
Plus de sujets relatifs à : [Résolu] Fusionner plusieurs feuilles en une seule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR