reporter une partie des lignes d'un onglet dans un second, sous condition

Caropier

XLDnaute Nouveau
Bonjour à tous,

J'aurais bien besoin d'un peu d'aide, je vous remercie à l'avance pour ceux qui liront mon post et tenteront (ou réussiront :) ) à m'aider :

Sur un premier onglet, j'ai un planning de 1500 personnes qui sont affectées à des zones différentes.
Je dois, sur les onglets suivants, faire apparaître les personnes dont le nom de la zone apparaît dans leur planning.
Chaque personne peut être affectée à plusieurs zones, selon le jour concerné.
La réponse de chaque onglet doit être triée par ordre alphabétique, quand mon fichier de départ est rempli au kilomètre.

Je suis incapable de trouver la macro qui va bien.

J'ai simplifié mon problème sur le petit fichier ci-joint (les zones étant indiquées comme A B C et en couleur), avec un exemple de ce à quoi je dois aboutir sur les onglets suivant le planning.

Quelqu'un peut il quelque chose pour moi?

Merci par avance,

Caroline

(PS : je ne maîtrise pas du tout VBA du coup j'ai regardé les autres posts qui ressembleraient à mon pb mais il n'y a rien qui corresponde. Je sais que ca donne l'impression que je n'ai pas essayé, mais j'ai bien essayé avec des formules et des mises en forme conditionnelles à défaut de savoir utiliser VBA, ca ne me suffit malheureusement pas)
 

Pièces jointes

  • Classeur2.xlsx
    12.3 KB · Affichages: 58
  • Classeur2.xlsx
    12.3 KB · Affichages: 64
Dernière modification par un modérateur:

Marc L

XLDnaute Occasionnel
Bonjour,

une p'tite démonstration vite fait en passant :

VB:
Sub Demo()
    ReDim L&(2 To Worksheets.Count)
    Application.ScreenUpdating = False
    For R& = 2 To UBound(L):  Worksheets(R).UsedRange.Rows.Delete:  Next
    With Worksheets(1).UsedRange
        For R = 1 To .Rows.Count - 5 Step 7
                ReDim F%(2 To UBound(L))
            For C& = 2 To .Columns.Count
                     W% = Asc(.Cells(R + 1, C).Value) - 63
                   F(W) = F(W) + 1
                If F(W) = 1 Then
                   L(W) = Worksheets(W).Cells(Rows.Count, 2).End(xlUp).Row
                   L(W) = L(W) - 2 * (L(W) > 1)
                   .Cells(R, 1).Resize(6).Copy Worksheets(W).Cells(L(W), 1)
                End If
                   .Cells(R, C).Resize(6).Copy Worksheets(W).Cells(L(W), F(W) + 1)
            Next
        Next
    End With
    Application.ScreenUpdating = True
End Sub
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Je suis Paris, Charlie, La Côte d'Ivoire, La Turquie, …
 

Caropier

XLDnaute Nouveau
Re : reporter une partie des lignes d'un onglet dans un second, sous condition

Salut Marc,

Merci beaucoup d'y avoir jeté un oeil :) :) :) c'est hyper sympa :)
Je vais essayer d'intégrer ta macro dans mon fichier :)
Je te dirai si je m'en suis sortie :)

Un grand merci en tout cas :)
J'essaie et je te dis :)
 
Dernière modification par un modérateur:

Caropier

XLDnaute Nouveau
Re : reporter une partie des lignes d'un onglet dans un second, sous condition

Salut Cisco

Pour te répondre, dans le principe chaque chef de zone veut le planning à la journée des personnes qui seront planifiées chez lui. Seulement, une personne peut être un jour dans une zone et le lendemain dans la suivante.
DU coup elle apparaîtra sur les deux onglets.
Après, je mettrai des mises en forme conditionnelle (oui je sais c'est pas très propre mais c'est tout ce que je sais faire :) ) pour vider le contenu que je ne veux pas voir.

Mon plus gros souci est de ne reporter que les lignes des personnes concernées dans le second onglet.
 

Caropier

XLDnaute Nouveau
Re : reporter une partie des lignes d'un onglet dans un second, sous condition

oui mais ca m'avait ouvert un onglet vierge, rien de plus.

En tout cas c'est bon, j'ai sollicité mon petit frère qui m'a fait une macro sur le vrai fichier :)
Merci en tout cas pour votre aide.
 

Marc L

XLDnaute Occasionnel

Effectivement peut-être pas douée car de mon côté :

CaropierCopy.gif
 

Discussions similaires

Statistiques des forums

Discussions
312 355
Messages
2 087 550
Membres
103 588
dernier inscrit
Tom59300Tom