Copier des cellules dans une autre feuille sous condition V2

Bonjour Ă  tous.
Avant tout merci beaucoup 🙏🙏 Ă  tous ceux qui consacrent leur temps et leur savoir pour venir en aide aux esprits dĂ©sespĂ©rĂ©s devant la complexitĂ© d’excel. đŸ€Ż

J’ai un tableau avec un premier onglet qui liste en Colonne A tous les noms de mes employĂ©s.
En colonne E, je place l’équipe Ă  laquelle je les affecte (S0, S1 ... S4 et une Ă©quipe spĂ©ciale SX)

J’ai ensuite un onglet par Ă©quipe.
Et je voudrai que dans la colonne À de chacun de ces onglets les noms des employĂ©s viennent s’ajouter (*), s’ils appartiennent Ă  l’équipe de l’onglet.

* J’aimerai que l’ajout se fasse sous la forme d’une Macro « mise Ă  jour de l’onglet » qui s’active manuellement via un bouton

Malheureusement je n’arrive Ă  rien ! C’est dĂ©sespĂ©rant. J’ai vu un super Post de Tulipe_4 sur le sujet « copier des cellules dans une autre feuille sous condition » mais je n’ai pas rĂ©ussi Ă  adapter la formule et les noms notamment !! 😓 pourtant j’ai l’impression que c’est exactement ce dont j’ai besoin.

Je place le fichier en PJ (la forme est un peu bizarre car j’ai enlevĂ© tous les Ă©lĂ©ments autres). J’espĂšre que j’ai Ă©tĂ© comprĂ©hensible 😕 c’est pas facile Ă  dĂ©crire je trouve đŸ€”

(Ps : je ne suis pas trĂšs bon, voire mĂȘme Nul 😒 En VBA).

Merci pour votre aide !!

Maurice.

Bonjour monsieur le Baron,
Salut Tulipe,

sans doute ainsi...

J'ai coupablement remplacé les 2 boutons par 2... boutons ActiveX !

Private Sub cmdGO_Click()
'
Dim iRow%, iRow1%, iRow2%, iRowT%
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
Call Tri(iRow)
If [A11] <> "" Then
    iRow1 = 11
    Do
        iRow2 = Columns(5).Find(what:=Range("E" & iRow1).Value, lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Row
        With Worksheets("SPA " & CStr(Range("E" & iRow1).Value))
            .Range("A13:E" & .UsedRange.Rows.Count).Value = ""
            .Range("A" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Resize(iRow2 - iRow1 + 1, 5).Value = Range("A" & iRow1).Resize(iRow2 - iRow1 + 1, 5).Value
        End With
        iRow1 = iRow2 + 1
    Loop Until iRow2 = iRow
End If
'
Application.EnableEvents = True
Application.ScreenUpdating = True
'
End Sub


A+

Bonsoir Curulis57.

Merci beaucoup pour ton aide 🙏🙏 : c’est exactement ce que je cherchais à faire.

Malheureusement je n’arrive pas à l’adapter à mon fichier (ni en la copiant, ni en retapant tout) !! 😓😱 Voici le problùmes que je rencontre :

Quand je chercher à reproduire la macro elle affiche « erreur de compilation Sub ou Function non definie ».

b932aa54 5fa1 412b bffc fa1e3486f5fb

- second petit problĂšme (mineur) : quand je souhaite faire fonctionner l’onglet SX en le renommant (par exemple BA), il affiche « erreur d’exĂ©cution « 9 » l’indice n’appartient pas Ă  la sĂ©lection. Quand je clique sur Fin cela marche quand mĂȘme mais ça peut induire des gens en erreur : est-il possible de faire disparaĂźtre cette message box ?

image

Question par ailleurs pour apprendre :

- quelle est la signification de « private sub » par rapport à Sub tout court ?

Merci infiniment de ton aide ! Je suis confus de te redemander tout cela par manque de connaissance ! đŸ„Ž

Maurice.

Mes respects, monsieur le Baron,

je vois que "METTRE_A_JOUR_LA_SPA" se trouve dans le 'Module 4' , c'est-à-dire, un 'Module' général !!
Toi, tu as remis tes contrĂŽles Ă  l'ancienne !

Pas de souci, chacun son truc mais dans ce cas, TOUTES les procĂ©dures appelĂ©es par ces macros (placĂ©es dans un module gĂ©nĂ©ral, veux-je dire) DOIVENT ĂȘtre placĂ©es elles-mĂȘmes dans un Module gĂ©nĂ©ral quelconque SANS oublier, dans ces macros "secondaires", de spĂ©cifier, pour chaque rĂ©fĂ©rence de RANGE mentionnĂ©e, la feuille d'origine... puisque le Module gĂ©nĂ©ral, qui couvre tout le fichier, ne peut pas la deviner.
Ceci...

If [A12] <> "" Then Range("A11:E" & iRow).Sort _

... deviendrait obligatoirement ...

With Worksheets("SUIVI INDIV")
    If .[A12] <> "" Then .Range("A11:E" & iRow).Sort _
        key1:=.[E11], order1:=xlAscending, _
        key2:=.[A11], order2:=xlAscending, _
        key3:=.[B11], order3:=xlAscending, _
        Orientation:=xlTopToBottom, Header:=xlNo
End With

... oĂč With prĂ©cise la feuille d'origine et le point . prĂ©cise les Range se rĂ©fĂ©rant Ă  With.
Tu suis ?

Pour le 2e point, as-tu simplement renommer l'onglet, feu 'SPA SX', en 'BA' ?
Malheureux ! Renomme-le bien vite 'SPA BA' !!!

Sinon... un fichier, stp !


A+

SOS CURILIS57 V2 !!

Alors non seulement je n’arrive pas Ă  adapter la macro malgrĂ© tes conseils mais en plus je n’arrive pas Ă  poster mon message ! Rien ne va plus. đŸ€Ż

Je disais donc, que je n’arrive Ă  rien, mĂȘme en dĂ©plaçant la macro dans le fichier SUIVI INDIV et non dans un module (ce que je n’avais d’ailleurs pas remarquĂ©, ce qui en dit long sur la maĂźtrise VBA !!)

en dĂ©sespoir de cause 😔, je te place donc le fichier directement.

voici les points clés (que je ne suis pas parvenu à adapter)

- dans l’onglet suivi indiv, quand on met en place le tri par section (ou Ă©quipe) il faut que toute la ligne suive et non juste les 5 premiĂšres colonnes. En effet chaque nom est liĂ© Ă  une liste de code qui donne son activitĂ© par jour de l’annĂ©e.

- pour les tri, il faudrait préparer 2 tri distincts

Le premier par section (S0, S1...) puis par grade selon un ordre particulier (COL, LCL, CBA, CNE, LTN, SLT, ASP, CC1, CCH, CPL, MP1, 1CL, MP2, 2CL, SDT, VDAT), puis par ordre alphabétique des noms puis prénoms.

Le second par « ad hoc » c’est Ă  dire : par ordre alphabĂ©tique de la colonne AD Hoc, puis par section puis par grade puis par nom puis par prĂ©nom.

- enfin pour la SPA SX, il faudrait que seuls les noms de la Colonne AD HOC (Et non section) avec le marquant SX Apparaissent dans l’onglet. Exemple : si je mets BA pour 3 personnes dans la colonne AD HOC et que je renomme SPA SX en SPA BA, il faut que les noms apparaissent peu importent leur section dans l’onglet SPA BA.

c’est dĂ©jĂ  beaucoup, et ça serait dĂ©jĂ  super 👍 si en plus tu peux me rajouter des petits commentaires dans le code pour m’aider Ă  comprendre et progresser ça serait extra.

En tout cas, merci 🙏🙏pour toute ton aide : j’apprĂ©cie Ă©normĂ©ment et je ne regrette qu’une chose : ĂȘtre trop nul pour pouvoir aider a mon tour ! 😞

Rechercher des sujets similaires Ă  "copier feuille condition"