Distribution dans plusieurs feuilles

Fermé
clavervba - 6 mars 2017 à 08:49
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 18 mars 2017 à 23:38
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

2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
6 mars 2017 à 23:12
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.
0
clavervba Messages postés 47 Date d'inscription vendredi 3 février 2017 Statut Membre Dernière intervention 7 mars 2017
7 mars 2017 à 08:36
Bonjour,
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.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié par Patrice33740 le 7/03/2017 à 16:46
Bonjour,

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
0
bonjour Patrice,
merci pour la macro, mais lorsque je l'execute elle m'efface mes libellés.
stp, peux-tu essayer de voir encore cela, j'ai essayer mais j'arrive pas
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
18 mars 2017 à 23:38
Bonjour,

Essaies de mettre un grand miroir face à ton écran pour
qu'on puisse voir à quoi ressemble ton fichier.

Si tu n'as pas de miroir, essaies de nous expliquer de quoi tu parles :
Quels libellés ???
Où se trouvent-ils ???
Etc ???
0