Distribution dans plusieurs feuilles
clavervba
-
Patrice33740 Messages postés 8930 Statut Membre -
Patrice33740 Messages postés 8930 Statut Membre -
Bonjour le forum,
pouvez vous m'aider s'il vous plait.
je voudrai écrire un code permettant de faire la distribution dans plusieurs feuilles, exemple.
dans la feuille 1 on a:
henry 1année
jerry 2 année
marc 1 année
fleurette 3 année
et je souhaite que les nom se reporte dans différentes feuilles a savoir:
-feuille 1 nommé: 1 année(marc/henry )
-feuille 2 nommé: 2 année (jerry)
-feuille 2 nommé: 3 année (fleurette )
s'il vous plait
pouvez vous m'aider s'il vous plait.
je voudrai écrire un code permettant de faire la distribution dans plusieurs feuilles, exemple.
dans la feuille 1 on a:
henry 1année
jerry 2 année
marc 1 année
fleurette 3 année
et je souhaite que les nom se reporte dans différentes feuilles a savoir:
-feuille 1 nommé: 1 année(marc/henry )
-feuille 2 nommé: 2 année (jerry)
-feuille 2 nommé: 3 année (fleurette )
s'il vous plait
A voir également:
- Distribution dans plusieurs feuilles
- Comment faire un livret avec des feuilles a4 - Guide
- Colis arrivé à l'agence de distribution - 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 en préparation pour sa 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.