Selection de valeur par colonne

11pers.xls (19.00 Ko)

Bonjour,

Avant tout, je remercie tous ceux qui m'ont répondu suite à ma demande du 9 janvier 2011 mais je n'ai pu répondre avant pour problème de santé.

Je remercie dubois et dan pour leur réponse.

Comme ils ont eu la gentillesse de me proposer de mettre un fichier en ligne, c'est ce que je fais aujourd 'hui et j'espère que ça m'aidera à voir les formules, les analyser pour les reproduire.

Le tableau joint à été réduit au minimum et les identités chenger pour être en parfaite conformité avec la législation.

En mettant ce tableau simplifié j'espère reproduire les formules sur le vrai plan de gestion de mon entreprise où les données sont plus complexes et multipliées

Aussi voici le sujet:

la feuille N°1 du classeur permet de rentrer des données relatives à des identités, des catégories de personnels et des lieux sur lesquels ils travaillent

Sur la feuille 2, je souhaiterais la protéger et qu'elle soit saisie automatiquement à l'aide des formules qui prennent ce qui est rentré sur la feuille 1. La feuille 1 comprend une liste et la feuille reconnait les personnels par site et les répartis automatiquement.

Je sais qu'il existe des formules comme recherchev ou NBVAL NB.SI mais personne n'arrive à concrétiser.

c'est pourquoi je de demande de l'aide

Je remercie tous ceux qui voudront bien m'aider.

C'est avec plaisir que je m'adresse à vous sur ce forum

Cordialement

GILOU27

Bonjoir

Avec des formules je ne sais pas faire, je te propose avec une macro

A toi de voir

Bonsoir

Avec formules :

20copie-de-pers.zip (19.22 Ko)

Amicalement

Nad

Bonjour à tous,

Une autre en VBA

à noter que tu aurais pu filtrer les sites ou autres, directement sur la Feuil1

Sub MiseAjour() 'Feuille Sites
'Macros par Claude Dubois pour "GILOU27" Excel-Pratique le 01/02/11
Dim Lg%, cL%, i%
    Application.ScreenUpdating = False
    Sheets("Noms").Activate
    Lg = Range("a65536").End(xlUp).Row
    Sheets("Sites").Range("a4:L1000").ClearContents

    For i = 3 To Lg
            Select Case Cells(i, "d")
                Case Is = "MONTAUDRAN": cL = 4
                Case Is = "NIMES": cL = 10
                Case Is = "PESSAC": cL = 7
                Case Is = "TOULOUSE": cL = 1
                Case Else: GoTo Suite
            End Select

        With Sheets("Sites")
            Lg = .Cells(65000, cL).End(xlUp)(2).Row
            .Cells(Lg, cL) = Cells(i, "c")          'qualité
            .Cells(Lg, cL + 1) = Cells(i, "b")      'prénom
            .Cells(Lg, cL + 2) = Cells(i, "a")      'nom
        End With
Suite:
    Next i
        Sheets("Sites").Activate
        Sheets("Sites").Range("a:L").Columns.AutoFit
End Sub

Amicalement

Claude

Bonjour à tous,

Aussi bien DUBOIS, NAD, DAN et BANZAI 64 m'ont donné une solution à mon problème.

Des deux côtés je vais analyser soit les formules soit la macro pour mieux comprendre et reproduire sur mon plan de gestion.

Vous avez peut être raison, j'ai cherché compliqué alors que l'on peut faire simple!

Toujours est il que je ne vous remercierai jamais assez pour le temps que vous avez pu y passer et pour m'avoir rendu service.

Je ne suis pas un habitué des forums et si je dois apporter quelque chose une évaluation ou autre, il faut me le faire savoir car pour ce qui me concerne je n''ai pas étudié l'informatique à l'école, je m'y suis mis tard. Je sais faire des macros simples des formules simples et c'est tout. Je suis plus à l'aise avec word.

Encore une fois merci et recevez de ma part toute ma sympathie et toute la considération que j'ai pour des personnes aussi qualifiées que vous.

J'ai eu plaisir à converser et échanger des mails avec vous.

GILOU27

Bonsoir,

Je ne réponds pas en MP

Entretemps, j'ai acquis un 5ème site à COLOMIERS.

J'ai donc réussi à modifier la macro, le personnel se dispache correctement sur les 5 colonnes mais j'ai un problème

sur le nouveau site chaque fois que je clique sur mise à jour site la macro redouble les données dans le nouveau site.

C'est sans doute parce-que tu n'efface pas le nouveau site, sur cette ligne

Sheets("Sites").Range("a4:o1000").ClearContents

colonne "o" au lieu de "L"

Voici le code complet avec "COLOMIERS"

Sub MiseAjour() 'Feuille Sites
'Macros par Claude Dubois pour "GILOU27" Excel-Pratique le 01/02/11
'ajouté "COLOMIERS" le 27/02/11
Dim Lg%, cL%, i%
    Application.ScreenUpdating = False
    Sheets("Noms").Activate
    Lg = Range("a65536").End(xlUp).Row
    Sheets("Sites").Range("a4:o1000").ClearContents 'colonne "o" au lieu de "L"
    For i = 3 To Lg
        'la variable "cL" est le N° de colonne de la feuille "Sites"
            Select Case Cells(i, "d")
                Case Is = "TOULOUSE": cL = 1
                Case Is = "MONTAUDRAN": cL = 4
                Case Is = "PESSAC": cL = 7
                Case Is = "NIMES": cL = 10

                Case Is = "COLOMIERS": cL = 13
                Case Else: GoTo Suite
            End Select

        With Sheets("Sites")
            Lg = .Cells(65000, cL).End(xlUp)(2).Row
            .Cells(Lg, cL) = Cells(i, "c")          'qualité
            .Cells(Lg, cL + 1) = Cells(i, "b")      'prénom
            .Cells(Lg, cL + 2) = Cells(i, "a")      'nom
        End With
Suite:
    Next i
        Sheets("Sites").Activate
        Sheets("Sites").Range("a:o").Columns.AutoFit
End Sub

Note bien que la variable "cL" est le N° de colonne de la feuille "Sites"

Tu sais maintenant comment adapter la macro.

Amicalement

Claude

Rechercher des sujets similaires à "selection valeur colonne"