Sélectionner et copier le contenu des feuilles d'un worksheet
Fermé
Julien
-
12 oct. 2012 à 17:32
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 - 14 oct. 2012 à 17:55
Le Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 - 14 oct. 2012 à 17:55
A voir également:
- Sélectionner et copier le contenu des feuilles d'un worksheet
- Comment faire un livret avec des feuilles a4 - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Word a trouvé du contenu illisible - Guide
4 réponses
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
13 oct. 2012 à 10:58
13 oct. 2012 à 10:58
Bonjour,
Qu'avez-vous déjà essayé de réaliser ?
Qu'avez-vous déjà essayé de réaliser ?
Bonjour et merci de vos réponses rapides.
Voici le code que j'ai réalisé jusqu'à présent (soyez indulgents, je début en vba ;) ):
Sub fusion2()
N = Sheets.Count
For i = 1 To N - 1 Step 1
b = 0
While b = 0
For j = 1 To 250 Step 1
If Sheets(i).Cells(1).Offset(j, 0).Value = "2011" Then b = 1 & ref = j
Next j
Wend
If b = 1 Then Sheets(i).Range("A1:G500").Offset(ref, 0).Copy
Paste Destination:=Worksheets("Total").Cells((i - 1) * 8 + 1)
Next i
End Sub
De manière à sélectionner les données des paiemenst de chaque feuille, à partir de 2011, et les coller dans une feuille "Total", les uns à cotés des autres.
A cela, il faudrait que je rajoute une condition, qui ne sélectionne les paiements et ne les copie que si la valeur du paiement en 2011 est différente de zéro.
Autre souci: lorsque le run le Sub, vba se plante systématiquement, y a t'il un problème dans ce que j'ai codé?
D'avance un grand merci,
Julien
Voici le code que j'ai réalisé jusqu'à présent (soyez indulgents, je début en vba ;) ):
Sub fusion2()
N = Sheets.Count
For i = 1 To N - 1 Step 1
b = 0
While b = 0
For j = 1 To 250 Step 1
If Sheets(i).Cells(1).Offset(j, 0).Value = "2011" Then b = 1 & ref = j
Next j
Wend
If b = 1 Then Sheets(i).Range("A1:G500").Offset(ref, 0).Copy
Paste Destination:=Worksheets("Total").Cells((i - 1) * 8 + 1)
Next i
End Sub
De manière à sélectionner les données des paiemenst de chaque feuille, à partir de 2011, et les coller dans une feuille "Total", les uns à cotés des autres.
A cela, il faudrait que je rajoute une condition, qui ne sélectionne les paiements et ne les copie que si la valeur du paiement en 2011 est différente de zéro.
Autre souci: lorsque le run le Sub, vba se plante systématiquement, y a t'il un problème dans ce que j'ai codé?
D'avance un grand merci,
Julien
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
13 oct. 2012 à 23:37
13 oct. 2012 à 23:37
Bonjour,
Merci pour l'information,
Je regarderai demain pour une solution.
Merci pour l'information,
Je regarderai demain pour une solution.
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
14 oct. 2012 à 17:55
14 oct. 2012 à 17:55
Bonjour,
En attendant votre réponse voici une proposition pour date supérieur 31.12.2009 et paiement différent de zéro.
En attendant votre réponse voici une proposition pour date supérieur 31.12.2009 et paiement différent de zéro.
Sub recap() datech = "31.12.2010" shtot = "Total" ct = Cells(Rows.Count, 1).End(xlUp).Row + 1 ' boucle sur les feuilles du classeur For Each sh In Worksheets ' pas la feuille "Total" If sh.Name <> shtot Then MsgBox "La Feuille : " & sh.Name ' boucle sur les données et filtre sur date et montant 0 For c = 2 To sh.Cells(Rows.Count, 1).End(xlUp).Row If sh.Cells(c, 1) > CDate(datech) And sh.Cells(c, 1) <> 0 Then MsgBox " Données à copier ligne : " & c ' ligne d'instruction pour insérer dans feuille "Total" ' A adapter selon désir Cells(ct, 1) = sh.Cells(c, 1) Cells(ct, 2) = sh.Cells(c, 2) ct = ct + 1 End If Next c End If Next sh End Sub
13 oct. 2012 à 11:52
Et au-delà de 2010 ou à partir de 2010 ?
Ce n'est pas pareil...
eric