Copie de 15 onglet dans un onglet final

tat

XLDnaute Nouveau
encore une petite question, en sachant que je peux difficillement proposer un fichier trop gros.

Je voudrais faire une macro ou autre pour pouvoir faire regulièrement une copie des 15 onglets.

Le but est: de copier les lignes pleines d'un onglet agent1, de les coller dans un onglet global. D'aller sur l'onglet agent2, la aussi de copier les lignes pleines puis allez les coller à la 1ere ligne vide de l'onglet global. Cela pour 15 onglet.

Je pense utiliser
nouvligne = Range("A65536").End(xlUp).Row + 1
Cells(nouvligne, 1).Select

pour que le curseur se positionne sur le 1ere ligne vierge. Est ce correct?
un grand coup de main serait génial, au secours!!!:D
 

euro.speed

XLDnaute Nouveau
Re : Copie de 15 onglet dans un onglet final

Bonjour tat, le forum,

voici un extrait de code sur lequel je travaille actuellement :
Sub EcritureModule()
Application.ScreenUpdating = False

'efface feuille "Module"
Dim Feuille As Worksheet
Application.DisplayAlerts = False
For Each Feuille In Worksheets
If (Feuille.Name = "Module") Then
Feuille.Delete
End If
Next
Application.DisplayAlerts = True


Dim ws As Worksheet
Dim wsdesti As Worksheet
Dim plage As Range
Dim derligne As Long

Sheets.Add.Name = "Module"
Set wsdesti = Worksheets("Module")

For Each ws In Worksheets
If ws.Name <> "Module" And ws.Name <> "Matrice" Then
ws.Select
Range("AR1:AR120").Copy
Sheets("Module").Select
CelLibre = Cells(65535, 1).End(xlUp)(2).Row + 1
CelluleDeti = "A" & CelLibre
Range(CelluleDeti).Select
ActiveSheet.Paste
End If
Next ws

'positionne le focus
Sheets("Matrice").Select
Range("a1").Select
Application.ScreenUpdating = True

End Sub

Après à toi de l'adapter.

En espèrant que ça te soit utile. :)
 

tat

XLDnaute Nouveau
Re : Copie de 15 onglet dans un onglet final

ca me parait interesant, mais je suis pas une pro du vba, j'ai juqsuqe la surtout travaille avec des macros.
pourrais tu me dire un peu ce que chaque "paragraphe fait", ca me permettra d'evoluer

mais je vais de suite l'essayé pour voir ce que ca donne merci
:p
 

pierrejean

XLDnaute Barbatruc
Re : Copie de 15 onglet dans un onglet final

bonjour tat
salut euro.speed

voila un code valable si tu n'as pas d'autre onglet que ceux a recapituler

Code:
Sub test()
Dim n as Integer
For n = 1 To Sheets.Count
If Sheets(n).Name <> ActiveSheet.Name Then
If ActiveSheet.Range("A65536").End(xlUp).Row = 1 Then x = 1 Else x = ActiveSheet.Range("A65536").End(xlUp).Row + 1
Sheets(n).Range("A1:B" & Sheets(n).Range("A65536").End(xlUp).Row).Copy Destination:=ActiveSheet.Range("A" & x)
End If
Next n
End Sub

ps: il peut etre a adapter pour un range <> des colonnes A et B a recopier
 

euro.speed

XLDnaute Nouveau
Re : Copie de 15 onglet dans un onglet final

Ce code est en cours de construction il y a des choses qui trainnent et qui ne servent à rien, alors attention :rolleyes:

Application.ScreenUpdating = False
évite de faire clignoter ton écran au chargement de chaque onglet, à la fin remettre Application.ScreenUpdating = True

'efface feuille "Module"
Dim Feuille As Worksheet
Application.DisplayAlerts = False
For Each Feuille In Worksheets
If (Feuille.Name = "Module") Then
Feuille.Delete
End If
Next
Application.DisplayAlerts = True

J'efface l'onglet "Module" dans lequel je veux réecrire à la suite le contenu des colonnes "AR" de mon classeur.

Application.DisplayAlerts = ?
empêche la fenêtre de confirmation de suppression de la feuille "Module"

For Each ws In Worksheets
If ws.For Each ws In Worksheets
If ws.Name <> "Module" And ws.Name <> "Matrice" Then
ws.Select
Range("AR1:AR120").Copy
Sheets("Module").Select
CelLibre = Cells(65535, 1).End(xlUp)(2).Row + 1
CelluleDeti = "A" & CelLibre
Range(CelluleDeti).Select
ActiveSheet.Paste
End If
Next ws
C'est ce qui t'intéresse vraiment je pense.
Pour toutes les feuilles qui ne s'appellent pas "Module" And "Matrice" Then

je récupère la plage ("AR1:AR120") que je copie
je sélectionne la feuille "Module"
je récupère le numéro de ligne de la dernière cellule libre de "module", j'ajoute une cellule pour laisser de l'espace.
et enfin je colle ma sélection

puis [Next ws] me renvoit à la prochaine feuille et ainsi de suite jusqu'à la dernière.

J'utilise cette méthode car j'ai plus de 100 feuilles à copier/coller.

Si tu n'en as que 15, ce n'est peut être pas la bonne méthode ?

;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 867
Membres
105 084
dernier inscrit
lca.pertus