Quelle formule ?

Bonjour, je viens vers vous car pour l’élaboration de ma feuille de service, que je vous met en fichier joint, je n'arrive pas a mettre une formule adaptée a mes besoins.

Si possible en formule, car ne maitrisant pas le VBA ce sera compliqué pour moi. Mais bon, si vraiment pas d'autres solution alors en VBA .

Si quelqu'un a une idée, je l'en remercie d'avance.

78fds.xlsx (29.21 Ko)

Bonjour pika83,

voici ton fichier modifié :

74fds.xlsm (37.92 Ko)

j'ai fait en VBA tes 2 premières demandes : Ctrl e ➯ travail effectué (tu peux aussi faire Ctrl e depuis la 1ère feuille)

pour ta 3ème demande, je laisse un autre intervenant prendre la suite... bonne chance !

dhany

Bonjour

Tu donnes un exemple de ce que devrait être le résultat pour la valeur "M4".

Pourrais-tu faire pareil pour" D" en l'écrivant dans les colonnes B et C?

Merci !

Bye !

Merci dhany pour ton retour qui correspond tout a fait a mon attente pour mes deux premières demandes.

Mais comme je l'ai annoncé je ne maitrise pas du tout le VBA.

En fait je n' avais mis qu'un bout de ma feuille de service ainsi que de ma base de roulement et du coup quand j'ai essayer de retranscrire avec la totalité cela ne fonctionne plus.

Pourrais tu STP me refaire ton script VBA (qui m'a l'air très bien) en prenant en compte la totalité de la feuille 4 qui reporte les valeurs de la feuille 1 en fonction des dates demandées de la feuille 4.

Je joint ton fichier transformé pour ma demande.

Désolé de mon ignorance en ce qui concerne le VBA et merci encore.

72fds1.xlsm (72.50 Ko)
pika83 a écrit :

Merci dhany pour ton retour qui correspond tout à fait à mon attente pour mes deux premières demandes.

merci pour ton retour !


tu a écrit :

En fait je n' avais mis qu'un bout de ma feuille de service ainsi que de ma base de roulement...

j'viens d'finir toutes les vérifs ; alors y'a rien à modifier dans le code VBA : ça prend automatiquement en compte toutes les autres colonnes à droite ; c'est donc inutile que je te retourne le fichier ; fais Ctrl e et ça sera ok.

ainsi, sur "Feuil4", saisis en A3 : 25/11 (= colonne AU sur "Feuil1") ; fais Ctrl e ; tu dois avoir ces résultats :

image

du coup, quand j'ai essayé de retranscrire avec la totalité cela ne fonctionne plus.

là, j'comprends pas : pour moi, ça marche bien ; alors précise exactement quel est le problème que tu as rencontré.

dhany

on s'est croisés ! j'ai beaucoup modifié mon post précédent.

dhany

Je te confirme ton script FDS fonctionne bien pour le lundi matin, ma ne rapporte pas les données du lundi après midi, nuit, ainsi que pour le mardi.

C'est pour cela que j'ai modifie ton fichier que j'ai renomme FDS1 auquel j'ai rajouté la totalité de la semaine et, il fait la même chose .

je le remet sur ce post.

69fds1.xlsm (72.58 Ko)

désolé, mais t'es pas assez précis !

d'abord, sur "Feuil4", quelle date saisis-tu en A3 ? 14/10 ➯ lundi 14 octobre 2019 ; c'est bien ça ? ou une autre date ? note que si c'est bien 14/10, alors sur "Feuil1", ça correspond à la colonne E ; j'attends que tu confirmes précisément la lettre de colonne, car on peut faire la suite que si toi et moi on est d'accord sur la même colonne !

bien sûr, si tu saisis en A3 une autre date que 14/10, alors ça sera une autre colonne ! et si toi tu regardes la colonne AP quand moi j'regarde la colonne E, tout le reste sera faux !

dhany

Oui je te confirme la date en A3 de la feuille 4 est 14/10/2019.

Et le départ de mon roulement commence le 14/10/2019 qui est en E3 de la feuille 1.

Mais comme la feuille 4 est un fichier qui doit me donner les équipes de la semaine , je ne change que la date en A3 de celui ci et il doit être capable de me donner le nom des agents travaillant dans la semaine demandée.

Par exemple en A3 de la feuille 4, je met 18/11/2019, il doit me reporter le nom des agents pour la semaine du 18/11/19 au 24/11/2019 trouver en Feuil1.

Encore désolé, j'espere avoir été plus précis.

oui, effectivement, tu es plus précis en nommant clairement les feuilles et les cellules ; mais avant de faire ton 2ème exemple du 18/11, faisons l'exemple où tu dis que tu as rencontré une erreur.

donc on est d'accord sur la date du 14/10 ➯ Lundi 14 octobre 2019 ➯ colonne E (avec les mêmes précisions que dans mon post précédent) ; voyons maintenant la suite.


* sur "Feuil4", en K11, il y a M03 ; donc la macro recherche M03 sur "Feuil1", en colonne E ; et elle trouve cette valeur en E5

* sur cette ligne 5, il y a : le matricule en C5 : 3057 ; le nom en B5 : B

* regarde sur "Feuil4" : en B11, il y a 3057 ; en C11, il y a BOK

pour toutes les autres valeurs en K8:K22, la macro fonctionne sur le même principe ; donc pour moi, les résultats fournis sont corrects ; alors maintenant, pour quelle valeur de K rencontres-tu une erreur ? pour M5 qui est en K18 ? autre ? à te lire.

dhany

Désole pour ce retard, mais je viens de rentrer.

Je suis entièrement d'accord avec toi, ta macro fonctionne parfaitement pour K8:K22 il trouve bien les bonnes valeurs entre C8.C22.

mais pourquoi un peu plus bas par exemple le 14/10/2019 en A3 et K56=A4 il ne me trouve rien en C56, ou le 15/10/2019 A78 et K147=N0 il ne me trouve rien non plus. Idem pour l'ensemble du fichier.

Bonjour pika83,

* dans mon post d'hier à 13:18, j'ai fait une erreur en écrivant K8:K22 ; c'est à partir de la ligne 7 ➯ j'aurais dû écrire : K7:K22

* dans ton post précédent, tu as repris cette erreur ; donc en fait, c'est : K7:K22 et C7:C22


tu as demandé « pourquoi ça ne le fait pas plus bas ? par exemple pour K56 et C56 ? » ; parce qu'avec ta façon d'écrire ta demande dans le fichier (la bande couleur orange et les 2 flèches), j'ai d'abord cru que c'était uniquement pour la ligne 17 : avec K17 : B17 et C17 ; ensuite, j'ai étendu aux lignes 7 à 22 ; et j'ai cru que plus bas, c'était pour ta 3ème demande seulement.

c'est pourquoi mon code VBA n'agit que pour les lignes 7 à 22 :

    With .[B7]
      For dv = 0 To 15
        s = .Offset(dv, 9)
        '...
      Next dv
    End With

pour dv : note que 7 + 0 = 7 ; et 7 + 15 = 22 ➯ lignes 7 à 22 seulement. c'est donc tout à fait normal que ça fasse rien du tout pour la ligne 56 ou la ligne 147 ; sous 22« hors champ » ! do you speak English ? no ? so it's time to learn VBA !


je vais bientôt proposer une nouvelle version, pour toutes les lignes.

dhany

@pika83

lis d'abord mon post précédent.


voici ton fichier FDS1 modifié :

9fds1.xlsm (78.47 Ko)

dans le code VBA, la variable dv n'existe plus, car j'ai utilisé une autre méthode :

c'est maintenant avec lig (n° ligne) et dlig (dernière ligne utilisée, ici : 532)

partie du code VBA concernée :

    dlig = .Cells(Rows.Count, 11).End(3).Row: col = cel.Column
    For lig = 7 To dlig
      With .Cells(lig, 2)
        s = .Offset(, 9)
        If s <> "Site" And s <> "" Then
          Set cel = FX.Columns(col).Find(s, , -4163, 1, 1)
          If Not cel Is Nothing Then
            .Value = FX.Cells(cel.Row, 3)
            .Offset(, 1) = FX.Cells(cel.Row, 2)
          End If
        End If
      End With
    Next lig

dlig = .Cells(Rows.Count, 11).End(3).Row : « calcul » dernière ligne, selon la colonne K ; retour : 532

For lig = 7 To dlig : des lignes 7 à 532

If s <> "Site" And s <> "" Then : il faut éviter de faire le corps du If .. Then si la cellule en colonne K est vide ; et éviter aussi la même chose si la cellule de la colonne K est "Site" ! puis ça continue ensuite avec Next lig : on va faire la ligne suivante.


cette nouvelle version du fichier devrait régler ton 1er problème ; et je pense que ça devrait régler aussi ton 2ème problème : ta semaine du 18/11/19 au 24/11/19 (c'était mentionné ici ; tu vois, j'l'avais pas oublié ! ).

à te lire pour avoir ton avis.

dhany

Ça y est tu est arrivé, c'est bon ça fonctionne bien sur toute la semaine demandée.

Je te remercie encore de ta patiente.

Bonne soirée.

merci pour ton retour ! mais pourquoi as-tu passé le sujet en résolu ? car il reste encore ta 3ème demande !

je rappelle que je laisse à un autre intervenant le soin de faire cette 3ème demande ; bonne chance !

dhany

merci encore, effectivement je l'ai mis en résolu, car je vais reposter le sujet différemment avec cette nouvelle demande ou quand il y a plusieurs valeurs identiques comme "D" les afficher toutes dans la feuille de service.

pika83

merci pour ton retour d'info ! bonne chance pour ton nouveau sujet & ta 3ème demande !

dhany

Rechercher des sujets similaires à "quelle formule"