Excel : copier la même ligne de plsrs feuille

Résolu
betiz22 -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

voila j'ai un gros soucis.
Je ne suis pas un pro d'excel et je bloque sur un élément.
Je vous explique mon problème.

J'ai un fichier excel qui comporte 84 feuilles.
Je souhaitais mettre sur une 85ème feuille un récapitulatif de toutes les données qui sont inscrits entre A2:H2.
Ces données sont du texte et des nombres.
A savoir que chaque feuille porte des noms totalement différents.

j'ai essayé un copier coller (j'ai tout sélectionné avec la touche maj), mais ils disent que les tailles différent donc que je ne peux pas.
Par ailleurs je suppose que si je copie-colle, ça ne se mettra pas à jour.

J'ai vu certaines réponses sur le forum mais je ne comprends rien du tout aux formules.

J'ai essayé d'aller dans le visual basic editor, mais je comprends pas.

Quelqu'un aurait-il une formule à me proposer ?

Merci bcp à vous et bonne journée





A voir également:

6 réponses

sirefalas Messages postés 219 Date d'inscription   Statut Membre Dernière intervention   8
 
Je ne suis pas sur d'avoir compris ce que tu veux faire.
Tu veux copier une ligne de chacune de tes 84 pages pour les mettre les unes en dessous des autres dans la 85 page?

Si c'est le cas, tu es obligé de faire une macro et la... on risque de prendre un peu de temps
0
betiz22
 
Je pense que tu as raison, en parlant de macro... c'est là mon pb.
Donc oui, je veux copier une ligne (A2:H2) de mes 84 pages pour les mettre les unes sous les autres dans une 85ème page
0
m@rina Messages postés 23885 Date d'inscription   Statut Contributeur Dernière intervention   11 464
 
Bonjour,

Tu dis :
"Je souhaitais mettre sur une 85ème feuille un récapitulatif de toutes les données qui sont inscrits entre A2:H2."
Mais de quelle(s) feuille(s) ?
Est ce que le but est de mettre récupérer les données des 84 feuilles sur la 85e ?

m@rina
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour,



Sub compiler()
Dim sht As Byte, col As Byte
Dim compil(1 To 84, 1 To 8)

For sht = 1 To 84
     For col = 1 To 8
          compil(sht, col) = Sheets(sht).Cells(2, col)
     Next col
Next sht

Application.ScreenUpdating = False
With Sheets(85).Range("A2:H85")
     .Value = compil
     .Borders.Weight = xlThin
End With
End Sub


si tu ne sais pas comment installer cette macro, tu dis...
0
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Bonjour betiz22.

"j'ai essayé un copier coller (j'ai tout sélectionné avec la touche maj), mais ils disent que les tailles différent donc que je ne peux pas"
... c'est parce que tu n'as pas procédé comme il se doit :

En supposant que tes feuilles 1 et 2 ont une ligne de titres et 49 enregistrements,
* sélectionner les lignes 1 à 50 de Feuil1 et faire ctrl+C (copier),
** cliquer dans la cellule A1 de Feuil85 et faire ctrl+V (coller) ;
* sélectionner les lignes 2 à 50 de Feuil2 et faire ctrl+C (copier),
** cliquer dans la cellule A51 de Feuil85 et faire ctrl+V (coller).

Ton erreur est de copier une plage de cellules et pas des lignes complètes.

Cordialement.
0
betiz22
 
Merci bcp mais le copier coller individuel j'arrive. Le soucis c'est que ca signifie que je dois le faire 85 fois. et j'ai 4 classeurs comme ça. Donc près de 340 fois. Non merci ^^
Je souhaite que ce soit automatisé.
Que la ligne A2:H2 de toutes mes feuilles se copient collent les unes sous les autres dans un classeur à part.
0

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

Posez votre question
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour, everybody on ze forum

Problème résolu par MP

la solution retenue ci jointe pour respecter l'aspect communautairehttps://www.cjoint.com/?0EunIdfgh3L
et la macro
Sub compiler()
Dim nbre As Byte, cptr As Byte, cptr_c As Byte, col As Byte
Dim compil

nbre = ThisWorkbook.Sheets.Count
ReDim compil(1 To nbre - 2, 1 To 9)
cptr_c = 1
For cptr = 1 To nbre
     With Sheets(cptr)
          If .Name <> "synthese" And .Name <> "Suivi mensuel" Then
               For col = 1 To 8
                    compil(cptr_c, col) = .Cells(2, col)
               Next col
               cptr_c = cptr_c + 1
          End If
     End With
Next cptr

Application.ScreenUpdating = False
With Sheets("synthese")
     .Range("A2:H129").Clear
     With .Range("A2").Resize(nbre - 2, 8)
          .Value = compil
          .Borders.Weight = xlThin
     End With
.Activate
End With

End Sub


Bon WE
0