pb pour trouver une formule de recherche ou matricielle.

hicks007

XLDnaute Nouveau
bonjour,

j'ai mis en place un document pour avoir une lisibilité sur les interventions de CDD sur mes structures.
je voulais pouvoir avoir une lecture du nombre d'heures effectuées par un salarié sur une période définie.

en colonne B les dates
en colonne C le lieu d'intervention
en colonne D le début de travail
en colonne E la fin de travail
en colonne F, G, H, I le nom de l'intervenant
et en colonne J le nbre d'heures effectués par intervention.

l'idée serait que je puisse par exemple de la ligne 3 à 25 (qui correspond à 4 jours) savoir combien d'heures à été effectuées par Léa. résultat dans une autre colonne ou une autre feuille.
plus une condition qui dirait que si elle est a son nom de barré on ne la comptabilise pas.

après la grosse cerise sur le gâteau, serait qu'apparaissent son planning sur une autre feuille.
il faudrait donc une formule qui disent si Léa en f8:f13 (le 02/09/2015) mettre la valeur de la ligne ou lea apparait entre 8 et 13 dans l'onglet Léa au jour du 02-09-2015.
plus une condition qui dirait que si elle est a son nom de barré on ne la comptabilise pas.

je pense que par formule je n'aurai pas ma cerise, mais c'est pas celle-ci qui est prioritaire.
j'ai tenté le solutions avec recherche, avec si, Nbre.si, mais ca n'aboutit pas.

je vous joint mon document ce qui sera plus parlant.

merci d'avance à ceux qui se pencheront sur mon problème.
 

Pièces jointes

  • Tableau OFFICIEL des besoins CDD.xls
    53.5 KB · Affichages: 50

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

bonjour et merci de votre réactivité.

les noms barré, le sont manuellement. je pourrais les automatiser par une MFC mais ce n'est pas vraiment important.
exemple :
léa est prévu le jeudi 3/09, l'administratif lui a donc préparé un contrat avec un nombre d'heure. finalement elle ne peut plus travailler ce jour la, du coup on la raye et on met un autre cdd dans la colonne d'a coté. l'administratif a une lecture du changement de planning de léa.
du coup les noms rayés ne doivent pas être calculé. dans les colonnes F,G,H,I seul le nom non barré doit être calculé. je ne sais pas si cela est possible car il s'agit juste d'une distinction de mise en forme.

voila j’espère que cela vous éclairera

cordialement
 

PMO2

XLDnaute Accro
Re : pb pour trouver une formule de recherche ou matricielle.

Bonjour,

Une piste avec le code suivant
Code:
Sub aa()
Dim S As Worksheet
Dim R As Range
Dim C As Range
Dim i&
Dim Cible$
'---
Cible$ = "Léa"  'à adapter "Léa"
Sheets("Feuil1").Copy After:=Sheets(Sheets.Count) 'à adapter "Feuil1"
'---
Application.ScreenUpdating = False
Set S = ActiveSheet
Set R = S.UsedRange
For i& = R.Rows.Count To 3 Step -1
  Set C = S.Range("F" & i& & "")
  If UCase(C) <> UCase(Cible$) Then
    S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
  Else
    If C.Font.Strikethrough Then
      S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
    End If
  End If
Next i&
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Tableau OFFICIEL des besoins CDD_pmo.xls
    61 KB · Affichages: 46

djidji59430

XLDnaute Barbatruc
Re : pb pour trouver une formule de recherche ou matricielle.

bonjour et merci de votre réactivité.
on met un autre cdd dans la colonne d'a coté.
voila j’espère que cela vous éclairera
cordialement

Donc lea est barré s'il y a un nom dans la cellule adjacente. Pourquoi ça n'etait pas dit tout de suite ?
Et valable aussi pour les autres.
la fonction C.Font.Strikethroug n'existe pas en formule, pas contre l'autre si.
Crdmt
 

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

désolé j'ai oublié cette information.

ca marche du tonner, merci beaucoup. je vais l’expérimenter un peu et si besoin je me permettrais un retour :eek:

merci à vous

en fait je viens de jouer un peu avec et il y a un pb. la date n'apparait que pour les noms inscrit sur la première ligne. comme j'ai fait des fusions de ligne pour avoir une date pour plusieurs interventions, lorsqu'il s'agit de l'inertvention2 sur la journée celui ci n'a plus de date sur sa ligne B (ce qui semble logique puisque la macro semble faire un copier coller. dois-je forcement mettre la date sur chaque ligne ou y aurait il une solution ?

merci
 
Dernière édition:

PMO2

XLDnaute Accro
Re : pb pour trouver une formule de recherche ou matricielle.

la date n'apparaît que pour les noms inscrits sur la première ligne

Voici le code prenant en compte ce problème
Code:
Sub aa()
Dim S As Worksheet
Dim R As Range
Dim C As Range
Dim i&
Dim Cible$
Dim maDate
'---
Cible$ = "Léa"  'à adapter "Léa"
Sheets("Feuil1").Copy After:=Sheets(Sheets.Count) 'à adapter "Feuil1"
'---
Application.ScreenUpdating = False
Set S = ActiveSheet
Set R = S.UsedRange
'--- Retire les fusions en colonne B ---
Set C = S.Range("B3:B" & R.Rows.Count & "")
C.UnMerge
'--- Donne une date à chaque ligne ---
For i& = 3 To R.Rows.Count
  Set C = S.Range("B" & i& & "")
  If C <> "" Then
    maDate = C
  Else
    C = maDate
  End If
Next i&
'---
For i& = R.Rows.Count To 3 Step -1
  Set C = S.Range("F" & i& & "")
  If UCase(C) <> UCase(Cible$) Then
    S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
  Else
    If C.Font.Strikethrough Then
      S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
    End If
  End If
Next i&
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Tableau OFFICIEL des besoins CDD_pmo 2.00.xls
    63 KB · Affichages: 50

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

bonjour,

super ca marche parfaitement, un vrai travail d’orfèvre :)
je vous remercies tous de votre aide.

Merci pour ce forum et ceux qui participe à le faire vivre.

cordialement
 

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

bonjour,

je reviens vers vous car j'ai un petit soucis dans l'utilisation de la macro.

en fait lorsqu'un nom est barré dans la colonne "NOM CDD", le nom mis dans la colonne "Modification 1" n'apparait pas dans l'extraction.

la macro règle bien le problème de ne pas faire apparaitre le nom barré, mais du coup elle ne va pas faire apparaitre celui d’à coté. y a t-il une solution ou dois je recréer une ligne pour faire apparaitre un nouveau nom ?

merci d'avance, bonne journée
 

PMO2

XLDnaute Accro
Re : pb pour trouver une formule de recherche ou matricielle.

en fait lorsqu'un nom est barré dans la colonne "NOM CDD", le nom mis dans la colonne "Modification 1" n'apparait pas dans l'extraction.
La ligne est forcément détruite puisque le nom barré est une des conditions pour le faire.

C'est possible de conserver la ligne en retirant le barré et en colorant la ligne pour la distinguer mais cela n'a plus aucun sens avec ce qui était voulu au départ.
 

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

merci de votre réponse.
oui conserver la ligne avec le nom barré n'a pas d'utilité pour moi.

l'idée etait que si nom barré en colonne F, et qu'il y a un nom en colonne G je garde la ligne mais ne met que le nom de colonne G et la fait apparaitre dans le planning du nom en G

dans le fichier exemple, lorsque "léa" est barré, et qu'en modification apparait "planning A", lorsque je fais l'extraction, j'aurais voulu que "planning A" apparaissent dans son extraction, ce qui n'est pas le cas. l'extraction planning A ne fait apparaitre que ceux en NOM CDD non barré. mais ce n'est peut-être pas clair.
 

hicks007

XLDnaute Nouveau
Re : pb pour trouver une formule de recherche ou matricielle.

on y presque ^^

planning.jpg

le 27 juin, pauline est rayée et apparait william en modification sur l'extraction de Pauline (ce qui n'est pas utile)

planning2.jpg

le 27 juin, William n'apparait pas (sur l'extraction William) alors qu'il est prévu puisqu'il remplace Pauline

donc ce que je souhaites, c'est quand Pauline est barrée et remplacée par William, que l'extraction de William intègre l'intervention de William. peut-être que c'est plus clair avec les images.

merci encore
 

Pièces jointes

  • planning.jpg
    planning.jpg
    36.3 KB · Affichages: 51
  • planning.jpg
    planning.jpg
    36.3 KB · Affichages: 62
  • planning.jpg
    planning.jpg
    36.3 KB · Affichages: 66
  • planning2.jpg
    planning2.jpg
    34.4 KB · Affichages: 66
  • planning2.jpg
    planning2.jpg
    34.4 KB · Affichages: 72
  • planning2.jpg
    planning2.jpg
    34.4 KB · Affichages: 51
  • planning.jpg
    planning.jpg
    76.4 KB · Affichages: 66
  • planning.jpg
    planning.jpg
    76.4 KB · Affichages: 68
  • planning2.jpg
    planning2.jpg
    74.1 KB · Affichages: 61
  • planning2.jpg
    planning2.jpg
    74.1 KB · Affichages: 64

PMO2

XLDnaute Accro
Re : pb pour trouver une formule de recherche ou matricielle.

OK, j'y vois plus clair.
Essayez
Code:
Sub aa()
Dim S As Worksheet
Dim R As Range
Dim C As Range
Dim i&
Dim Cible$
Dim maDate
'---
Cible$ = "Léa"  'à adapter "Léa"
Sheets("Feuil1").Copy After:=Sheets(Sheets.Count) 'à adapter "Feuil1"
'---
Application.ScreenUpdating = False
Set S = ActiveSheet
Set R = S.UsedRange
'--- Retire les fusions en colonne B ---
Set C = S.Range("B3:B" & R.Rows.Count & "")
C.UnMerge
'--- Donne une date à chaque ligne ---
For i& = 3 To R.Rows.Count
  Set C = S.Range("B" & i& & "")
  If C <> "" Then
    maDate = C
  Else
    C = maDate
  End If
Next i&
'---
For i& = R.Rows.Count To 3 Step -1
  Set C = S.Range("F" & i& & "")
  If UCase(C) <> UCase(Cible$) And C.Offset(0, 1) <> Cible$ Then
    S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
  Else
    If C.Font.Strikethrough And C.Offset(0, 1) <> Cible$ Then
      S.Rows("" & C.Row & ":" & C.Row & "").EntireRow.Delete Shift:=xlUp
    End If
  End If
Next i&
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Tableau OFFICIEL des besoins CDD_pmo 2.01.xls
    64 KB · Affichages: 38

Discussions similaires

Réponses
7
Affichages
604

Statistiques des forums

Discussions
314 499
Messages
2 110 247
Membres
110 711
dernier inscrit
chmessi