Integrer lignes sur plusieurs onglets les unes apres les autres excel 2010

Fermé
caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024 - Modifié le 5 mai 2020 à 17:55
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 9 juin 2020 à 10:33
Bonjour,
J'ai chercher très longtemps une solution sur internet et je n'ai pas trouvé satisfaction.
J'ai excel 2010.
J'aimerais récupérer toutes les lignes de mon premier onglet pour les mettre sur un nouvel onglet.
Ensuite mettre en dessous les lignes de mon deuxième onglet et ensuite troisième onglet.
Mais j'aimerais que se soit automatique comme une macro ou un tableau croisé dynamique.
Et aussi en copiant mon fichier et renommant que je n'ai pas besoin de refaire les manip. Car je fais un fichier par mois et d'ailleurs le nombre de lignes n'est jamais identique.
Cependant ce ne sont pas des valeurs en nombre sur toutes les colonnes puisque ce sont mes importations d’écritures comptables.
C'est pour cela que un tableau croisé dynamique avec étiquette ne marche pas.

N'hésitez pas si vous avec besoin de mieux comprendre la problématique si j'ai mal expliqué.

Je vous remercie,
Bonne soirée,
A voir également:

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 6 mai 2020 à 10:03
Bonjour,

En vba tu ajoutes une feuille en premier(a gauche) pour recevoir les données

Et tu associes ce code à un bouton:

Option Explicit
Private Sub CommandButton1_Click()
 Dim s As Integer
 Dim plage As String
 Dim derligne As Long
 For s = 2 To ThisWorkbook.Worksheets.Count
 derligne = Worksheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row + 1 ' feuille receptrice
 plage = Worksheets(s).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address 'dernière cellule remplie feuille copie
plage = Replace(plage, "$", "") 'on enleve les $
Worksheets(s).Range("A1:" & plage).Copy _
    Destination:=Worksheets(1).Range("A" & derligne) 'on copie
 Next
End Sub


Voilà

-
-
@+ Le Pivert
0
caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024
6 mai 2020 à 15:36
Bonjour cs_le pivert,

désolé c'est un peu complexe je n'ai pas compris ou modifier les éléments.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024
Modifié le 6 mai 2020 à 17:40
voici un exemple avec les explications:

https://www.cjoint.com/c/JEgpF2fjFsQ


IMPORTANT

Il faut supprimer toutes les explications en rouge car cela fausse les données!

@+ Le Pivert
0
caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
Modifié le 9 juin 2020 à 09:31
Bonjour,

Pourriez-vous m'aider svp, je n'arrive toujours pas.
Le code c'est :

Option Explicit
Sub Import()
Dim s As Integer
Dim plage As String
Dim derligne As Long
For s = 2 To ThisWorkbook.Worksheets.Count
derligne = Worksheets(Import).Cells.SpecialCells(xlCellTypeLastCell).Row
plage = Worksheets(3 - CAF - CFACT).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address 'dernière cellule remplie feuille copie
plage = Replace(plage, "$", "")
Worksheets(s).Range("A1:" & plage).Copy _
Destination:=Worksheets(Import).Range("A" & derligne)
Next
End Sub

J'ai enlever private car je n'arrivais pas à affecter au bouton.
Mais ça me bloque à la ligne SUB
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024
Modifié le 9 juin 2020 à 10:53
Il faut mettre le nom de la feuille entre des doubles cotes " Import"

Option Explicit
 Sub Import()
 Dim s As Integer
 Dim plage As String
 Dim derligne As Long
 For s = 2 To ThisWorkbook.Worksheets.Count
 derligne = Worksheets("Import").Cells.SpecialCells(xlCellTypeLastCell).Row + 1 ' feuille receptrice
 plage = Worksheets(s).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address 'dernière cellule remplie feuille copie
plage = Replace(plage, "$", "") 'on enleve les $
Worksheets(s).Range("A1:" & plage).Copy _
    Destination:=Worksheets("Import").Range("A" & derligne) 'on copie
 Next
End Sub


voilà

@+ Le Pivert
0
caroouline Messages postés 35 Date d'inscription mardi 5 mai 2020 Statut Membre Dernière intervention 15 février 2024
20 mai 2020 à 11:12
Bonjour,

Merci pour tes réponses je réessayerais peut être le mois prochain.
Car pas réussi car je ne peux pas prendre ton fichier d'origine car le mieux est déjà trop travaillé.
0