A voir également:
- Distribution dans plusieurs feuilles
- Comment faire un livret avec des feuilles a4 - Guide
- Votre colis est sur son site de distribution. nous le préparons pour le mettre en livraison. ✓ - Forum Consommation & Internet
- Regrouper plusieurs feuilles excel en une seule - Guide
- Votre envoi est en préparation pour sa distribution. ✓ - Forum Consommation & Internet
- Votre envoi est réacheminé vers son site de distribution - Forum Consommation & Internet
2 réponses
Bonjour,
« pouvez vous m'aider s'il vous plait.
je voudrai écrire un code permettant de ... »
Pour ça pas de problème, le but de ce forum d'entraide est de donner des conseils et d'aider à résoudre votre problème, mais nous ne sommes par là pour faire le travail à votre place.
Pour cela, il y existe des professionnels qui ont besoin de travailler. Il n’est pas question pour nous bénévoles, de leur ôter le pain de la bouche.
Pour obtenir une réponse, il faut que vous fassiez vous-même des efforts. Montrez-nous ce que vous avez déjà fait en expliquant vos difficultés et vous mettrez toutes les chances de votre coté pour que quelqu’un vous réponde.
« pouvez vous m'aider s'il vous plait.
je voudrai écrire un code permettant de ... »
Pour ça pas de problème, le but de ce forum d'entraide est de donner des conseils et d'aider à résoudre votre problème, mais nous ne sommes par là pour faire le travail à votre place.
Pour cela, il y existe des professionnels qui ont besoin de travailler. Il n’est pas question pour nous bénévoles, de leur ôter le pain de la bouche.
Pour obtenir une réponse, il faut que vous fassiez vous-même des efforts. Montrez-nous ce que vous avez déjà fait en expliquant vos difficultés et vous mettrez toutes les chances de votre coté pour que quelqu’un vous réponde.
Bonjour,
Il faut éviter les select et activesheet dans le code, essaies ceci :
Cordialement
Patrice
PS : j"ai oublié :
Il faut éviter les select et activesheet dans le code, essaies ceci :
Sub ventilation() Application.ScreenUpdating = False For j = 4 To 7 lastRow = Sheets(j).Range("A" & Rows.Count).End(xlUp).Row For i = lastRow To 6 Step -1 Sheets(j).Rows(i).Delete shift:=xlUp Next i derniereligne = Sheets("Inscription").Range("A" & _ Rows.Count).End(xlUp).Row For k = 2 To derniereligne If Sheets(j).Name = Sheets("Inscription").Cells(k, 7).Value Then lastRow = Sheets(j).Range("A" & Rows.Count).End(xlUp).Row Sheets("Inscription").Rows(k).Copy Sheets(j).Cells(lastRow, 1) End If Next k Next j Sheets("Inscription").Select Application.ScreenUpdating = True End Sub
Cordialement
Patrice
PS : j"ai oublié :
Dim j As Long Dim lastRow As Long Dim derniereligne As Long
je l'ai déjà fait, voir ci-dessous:
Dim j As Integer
Dim lastRow As Integer
Dim derniereligne As Integer
Sub ventilation()
Application.ScreenUpdating = False
For j = 4 To 7
Sheets(j).Select
lastRow = Range("a1000000").End(xlUp).Row
For i = lastRow To 6 Step -1 'parcourir des lignes en remontant vers le haut
Sheets(j).Select
Rows(i).Select
Selection.Delete shift:=xlUp
Next i
Sheets("Inscription").Select
derniereligne = Range("a1000000").End(xlUp).Row 'commencer a la fin pour remonter juska haut
For k = 2 To derniereligne
Sheets("Inscription").Select
If Sheets(j).Name = Cells(k, 7).Value Then '7 est la colone de la classe
Rows(k).Select
Selection.Copy
Sheets(j).Select
lastRow = Range("a1000000").End(xlUp).Row + 1
Cells(lastRow, 1).Select
ActiveSheet.Paste
End If
Next k
Next j
Sheets("Inscription").Select 'revenir sur la fiche inscription
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
mais le souci est que lorsque j'execute cette macro sur mon PC je recoi un message d'erreur mais sur mon poste a bureau il passe.