XL 2016 Copy

Bebzinda

XLDnaute Nouveau
Bonjour a tous! J'aimerais copier des lignes renseignées dans différente feuille et les coller dans une autre feuille. Je n'y arrive pas. J'ai fortement besoin d'aide. Merci et excellente journée !
 

Bebzinda

XLDnaute Nouveau
@Phil69970 : En effet, étourderie de ma part Delete est bizarre, le plus indiqué est Clear

@Bebzinda : Si j'ai bien compris ta demande.
VB:
Sub Regrouper_Feuilles_Concernées()
    Dim F As Worksheet, a, i As Integer, Sh As Worksheet
    Set F = Worksheets("synthèse")
    Application.ScreenUpdating = False
    a = Array("Feuil1", "Feuil2", "Feuil3")    'on met le nom des feuilles à copier dans une variable tableau (adapter nom feuilles)
    Debug.Print LBound(a), UBound(a)

    F.Range("A1").CurrentRegion.Offset(1).Clear    'on efface

    For i = LBound(a) To UBound(a)
        Set Sh = Worksheets(a(i))
        With Sh
            .Range("A1").CurrentRegion.Offset(1).Copy F.Range("A" & Rows.Count).End(xlUp)(2)
        End With
    Next i
    Set Sh = Nothing: Set F = Nothing
    Application.ScreenUpdating = True
    MsgBox "Transfert terminé!", vbInformation + vbOKOnly, "TRANSFERT DONNEES"
End Sub
Merci! Je vais tester et vous revenir
 

Bebzinda

XLDnaute Nouveau
Salut! vous allez bien j'espère? grâce aux différentes solution proposés, suis parvenu à regrouper les informations des feuilles (1,2,3,4,5) dans la feuille "synthèse". cependant j'ai un autre souci. j'ai créer une macro qui copie les informations dans les bases (1,2,3,4,5) et les colles par valeur respectivement dans les feuilles citées. une foi la macro exécuté, si je lance le code pour regrouper les informations dans synthèse, seul les informations de la feuil5 sont récupéré. j'ai besoin de votre aide!
 

cp4

XLDnaute Barbatruc
Salut! vous allez bien j'espère? grâce aux différentes solution proposés, suis parvenu à regrouper les informations des feuilles (1,2,3,4,5) dans la feuille "synthèse". cependant j'ai un autre souci. j'ai créer une macro qui copie les informations dans les bases (1,2,3,4,5) et les colles par valeur respectivement dans les feuilles citées. une foi la macro exécuté, si je lance le code pour regrouper les informations dans synthèse, seul les informations de la feuil5 sont récupéré. j'ai besoin de votre aide!
Pas très clair! Édite ton code et sois un peu plus précis.

A+
 

Bebzinda

XLDnaute Nouveau
VB:
Sub regrouper()

Application.ScreenUpdating = False

Set f = Sheets("synthèse")
f.Range("A2:AR2000").Clear
For i = 1 To 5
With Worksheets(i)
    .Range("A2", .Cells(.Range("A2000").End(xlUp).Row, 50)).Copy Destination:=f.Range("A2000").End(xlUp)(2)
End With
Next i
Application.ScreenUpdating = True

End Sub

le code fonctionne si je renseigne les feuille (1,2,3,4,5) manuellement. mais une foi que je lance la macro pour renseigner les feuilles, le code fonctionne à moitié car seul les informations de la feuille5 se retrouve dans la feuille synthèse.
 

cp4

XLDnaute Barbatruc
VB:
Sub regrouper()

Application.ScreenUpdating = False

Set f = Sheets("synthèse")
f.Range("A2:AR2000").Clear
For i = 1 To 5
With Worksheets(i)
    .Range("A2", .Cells(.Range("A2000").End(xlUp).Row, 50)).Copy Destination:=f.Range("A2000").End(xlUp)(2)
End With
Next i
Application.ScreenUpdating = True

End Sub

le code fonctionne si je renseigne les feuille (1,2,3,4,5) manuellement. mais une foi que je lance la macro pour renseigner les feuilles, le code fonctionne à moitié car seul les informations de la feuille5 se retrouve dans la feuille synthèse.
Désolé, ce n'est pas mon code voir post#14
Tu utilises l'index des feuilles. Or, je pense que la feuille "synthèse" à l'index 1; d'où le mauvais transfert.

A+
 

Bebzinda

XLDnaute Nouveau
Désolé, ce n'est pas mon code voir post#14
Tu utilises l'index des feuilles. Or, je pense que la feuille "synthèse" à l'index 1; d'où le mauvais transfert.

A+
je viens de lance votre code, apparemment il n'y pas de problème car le msgbox s'affiche. mais je n'est rien dans la feuille synthèse. les feuilles utilisées sont: Feuil1,Feuil2,Feuil3,Feuil4,Feuil5 et synthèse avec le même emplacement dans le classeur.
 

cp4

XLDnaute Barbatruc
je viens de lance votre code, apparemment il n'y pas de problème car le msgbox s'affiche. mais je n'est rien dans la feuille synthèse. les feuilles utilisées sont: Feuil1,Feuil2,Feuil3,Feuil4,Feuil5 et synthèse avec le même emplacement dans le classeur.
Joins ton fichier en rendant anonyme les données confidentielles.

A+

edit: Est-ce que la feuille synthèse ne serait pas protégée par hasard?
ci-joint fichier, le code est dans le module2
 

Pièces jointes

  • VBA - Compiler feuilles sur 1 seule.xlsm
    28.9 KB · Affichages: 2
Dernière édition:

cp4

XLDnaute Barbatruc
Non elle n'est pas protégé. on me dit que le fichier est trop volumineux. je ne sait pas comment l'envoyé
As-tu testé le code du fichier joint dans mon précédent post?
Pour ton fichier s'il dépasse 1Mo il ne passe pas sur le forum. essaie de le zipper ou tu le déposes sur un site de transfert de gros fichier (https://www.cjoint.com/) et tu édites ici le lien.
Normalement, le code fera bien le boulot en veillant à bien saisir le nom des feuilles à transférer sur la ligne ci-dessous
VB:
a = Array("Feuil1", "Feuil2", "Feuil3", "but", "joli")

A+
 

Bebzinda

XLDnaute Nouveau
As-tu testé le code du fichier joint dans mon précédent post?
Pour ton fichier s'il dépasse 1Mo il ne passe pas sur le forum. essaie de le zipper ou tu le déposes sur un site de transfert de gros fichier (https://www.cjoint.com/) et tu édites ici le lien.
Normalement, le code fera bien le boulot en veillant à bien saisir le nom des feuilles à transférer sur la ligne ci-dessous
VB:
a = Array("Feuil1", "Feuil2", "Feuil3", "but", "joli")

A+
https://www.cjoint.com/c/KKkqPTro3lv
 

Bebzinda

XLDnaute Nouveau
Joins ton fichier en rendant anonyme les données confidentielles.

A+

edit: Est-ce que la feuille synthèse ne serait pas protégée par hasard?
ci-joint fichier, le code est dans le module2
le code fonctionne à merveille! le souci est que dans mon classeur il y a des des feuilles nommées base (1,2,3,4,5). est ce possible de récupérer les informations à partir de ces bases et de les regrouper comme vous l'aviez fait en exemple? j'ai pensé cela difficile j'ai donc créer une macro qui les copies dans d'autres feuilles par valeur et de ces feuilles je compte les regrouper dans une autre.
 

cp4

XLDnaute Barbatruc
le code fonctionne à merveille! le souci est que dans mon classeur il y a des des feuilles nommées base (1,2,3,4,5). est ce possible de récupérer les informations à partir de ces bases et de les regrouper comme vous l'aviez fait en exemple? j'ai pensé cela difficile j'ai donc créer une macro qui les copies dans d'autres feuilles par valeur et de ces feuilles je compte les regrouper dans une autre.
J'avoue que je n'ai pas bien compris.
Cependant, j'ai ouvert ton fichier et il s'avère que tu as utilisé des tableaux avec beaucoup de lignes vides qui sont sources de problèmes.
Il faut savoir que la plage de ces tableaux s'ajuste automatiquement à l'ajout de lignes ou des colonnes.
Il faut donc supprimer toutes les lignes vides.

Je m'arrête pour aujourd'hui, je suis fatigué.

Bonne soirée.
 

Bebzinda

XLDnaute Nouveau
J'avoue que je n'ai pas bien compris.
Cependant, j'ai ouvert ton fichier et il s'avère que tu as utilisé des tableaux avec beaucoup de lignes vides qui sont sources de problèmes.
Il faut savoir que la plage de ces tableaux s'ajuste automatiquement à l'ajout de lignes ou des colonnes.
Il faut donc supprimer toutes les lignes vides.

Je m'arrête pour aujourd'hui, je suis fatigué.

Bonne soirée.
ok merci bien! je vais en tenir compte et vous revenir demain. bonsoir à vous!
 

Discussions similaires

Réponses
4
Affichages
536