Afficher selon critereS Macro

Résolu
lalalie3 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
lalalie3 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'avance gentiment sur mon projet en VBA (que je n'avais jamais utilisé jusqu'à présent ...) mais j'ai encore une fois besoin de vos lumières :
Je travaille sur un planning annuel où il y a toutes les dates de l'année dans une feuille nommée Planning. Il y a des salariés avec n° Caissier ; Nom ; Prénom ;


Voila ce que je voudrais que la macro me fasse :
Si datefincontrat = "vide" ET competence = "HDC" ET Nom = "Non vide"
Affiche dans l'onglet planning :
- N° Caissier
- Nom
- Prénom

Si datefincontrat =< dateplanning ET competences = "HDC" ET Nom = "non vide"
Affiche dans l'onglet planning :
- N° Caissier
- Nom
- Prénom

SI datefincontrat = 0 ET competences = "HDC / RDC" OU "HDC / ELS" OU "HDC / HDA" ET Nom = "non vide"
Affiche dans l'onglet planning 2 lignes correspondantes :
- N° Caissier
- Nom
- Prénom
Si datefincontrat =< dateplanning ET competences = "HDC / RDC" OU "HDC / ELS" OU "HDC / HDA" ET Nom = "non vide"
Affiche dans l'onglet planning 2 lignes correspondantes :
- N° Caissier
- Nom
- Prénom

Si datedebcontrat => dateplanning ET competences = "HDC" et Nom = "Non vide"
Affiche dans l'onglet planning
- N° Caissier
- Nom
- Prénom
-
Si datedebcontrat=> dateplanning ET competences = "HDC / RDC" OU "HDC / ELS" OU "HDC / HDA" ET Nom = "non vide"
Affiche dans l'onglet planning 2 lignes correspondantes :
- N° Caissier
- Nom
- Prénom

Dans d'autres mot je voudrais que la macro affiche les salariés en fonction des dates de début ou de fin de contrat si le contrat est dans les dates alors affiche si non n'affiche pas. Et ce pour toute l'année c'est-à-dire 15669 lignes.

Je m'y suis essayé mais mes compétences en la matière sont beaucoup trop faibles pour effectuer cette macro.
Mais j'ai posé des variables qui me semblent pas trop faussent.

Dim i As Double
i = Sheet("Salariés")(2, 0)
For i = 2 To 61
i = i + 1

Dim Datedebcontrat As Date
Datedebcontrat = Sheet("Salariés")(i, 10)
Datedebcontrat = Format(Datedebcontrat, "dd/mm/yyyy")

Dim Datefincontrat As Date
Datefincontrat = Sheet("Salariés")(i, 11)
Datefincontrat = Format(Datefinbcontrat, "dd/mm/yyyy")

Dim competences As String
competences = Sheet("Salariés")(i, 6)

Dim nom As String
nom = Sheet("Salariés")(i, 3)

Dim dateplg As Date
dateplg = Sheet("planning")(i, 6)
dateplg = Format(dateplg, "dd/mm/yyyy")


Dim ip As Double
ip = Sheet("Planning")(4, 0)
For ip = 4 To 15669
ip = ip + 1



Dans l'espoir d'avoir été assez clair si non je suis a votre disposition.

Au plaisir de vous lire.
A voir également:

2 réponses


 
Salut le forum

Avec un fichier ce serait plus agréable que de reproduire ton message dans un fichier Excel.

Pour joindre un fichier, tu crées un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.

Mytå
0
lalalie3 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Désolé,
Voici le lien :
http://www.cijoint.fr/cjlink.php?file=cj201105/cijvl4kV2y.zip

Au plaisir de vous lire.
0
lalalie3 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Si qqu pourvais m'aider...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Peut-être qu'avec plus de rigueur dans la demande tu aurais des réponses...
datefincontrat non trouvé (=fin cdd ???)
competence : non trouvé...
dateplanning : non trouvé...

J'ai arrêté là ma lecture....
eric
0
lalalie3 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour l'information je n'avais pas vu que je m'etais trompée de version ...

Voila le bon fichier :

http://www.cijoint.fr/cjlink.php?file=cj201105/cijq7wXSWU.xls
0