Blocage sur une formule

bonjour à tous

Tout d’abord, j’espère que tout le monde va bien malgré ces temps difficiles.

Je fais appel encore à vos services.

J’ai une formule dans un tableau qui fonctionne déjà très très bien mais que j’aimerais avoir des améliorations.

J’explique dans les cellules des heures prestes Il faudrait pouvoir y ajouter la possibilité que les prestations se fasse tous les 15 jours ou choisir les semaines où elle doivent apparaître entre la semaine 1 et 4.

Je vous joins déjà un fichier Excel pour réaliser la formule.

Ex: j’ai ajouté une case à cocher pour tous les 15 jours.

Et j’ai ajouté quatre caisses pour y ajouter les semaines où il doit y avoir la prestation.

Je vous remercie d’avance.

Bonne journée.

25copie-de-g1.xlsm (61.10 Ko)

Bonjour à tous.

Personne ne peut m’aider !!

Bonjour

Si vous n'avez pas de réponse c'est que votre problème manque d'explication. En regardant votre fichier, voici les questions que je me pose

J’ai une formule dans un tableau qui fonctionne déjà très très bien

laquelle ?. Il y en a plusieurs

Ex: j’ai ajouté une case à cocher pour tous les 15 jours.

A moins que j'ai zappé, mais la case à cocher se trouve où ?

Et j’ai ajouté quatre caisses pour y ajouter les semaines où il doit y avoir la prestation.

Caisses ?


Autre point :

Votre feuille BD2 est un tableau structuré. Dans la formule en W11, vous pouvez remplacer chaque "BD" par "Tableau2".
Idem pour les cellules X, Y Z de la même ligne

Cordialement

Bonjour Dan,

Tout d’abord, merci de ton observation que je n’ai pas mis assez D’information

Je vais essayer d’être plus clair.

La formule se trouve dans les heures du jour du mois.

Et l’information doit se trouver ou dans la case tous les 15 jours ou dans la case premier semaine deuxième semaine, troisième semaine et quatrième semaine du mois.

Petite explication :

Pour l’instant dans les cases du jour de chaque mois, ça calcule les prestations de la semaine qui est mis dans la base de données les premières colonnes du tableau par rapport à une date de début et une date de fin.

Par rapport à une date de début et une date de fin.

Mon problème c’est que je n’arrive pas à modifier la formule pour qu’elle puisse calculer une prestation semaine tous les 15 jours ou une prestation la première semaine et la troisième semaine du mois par exemple

Exemple, je mets la date de début et date de fin avec le nom de Chantier et je mets quatre heures le lundi si je fais une croix dans la case 15 jours, la prestation se fera tous les 15 jours le lundi.

Si je mets une croix dans la case première semaine et troisième semaine, la prestation se fera tous les lundis de la première semaine du mois et tous les lundis de la troisième semaine du mois.

Encore merci à toi

Ok pour les explications. Cela n'est pas simple à faire là....
Mais avant d'aller plus loin :

1. en F11 vous avez mis 4 heures sur le jeudi. Pourquoi retrouve-t-on 4heures en cellule X11 qui est un mercredi ? J'ai l'impression que votre formule n'est pas correcte
2. Est-ce normal que les cellules X11 à AA11 sont remplies sachant que vous n'avez pas de X dans les cellules R11 à V11

Rebonjour,

Désolé c’est un classeur que j’ai créé à partir des informations que j’ai dans le miens.

J’ai fait ça pour l’alléger.

Je fais les corrections et je l’envois ce soir.

Voici le classeur.

6v4.xlsm (140.96 Ko)

Mais dans votre fichier lorsque vous mettez Semaine1, semaine 2.... et donc vos 5 conditions, cela devient très complexe de créer une formule qui vous calcule cela. A priori il va falloir répéter la formule 5 x pour vérifier si un x n'est pas mentionné dans les colonnes R à V

La condition 15 jours me semble la plus facile mais cela reste à vérifier.

Un casse tête...

bonsoir Dan,

Oui, bien sûr, ça doit vraiment être un casse-tête.

Maintenant, si tu as une autre idée pour une autre procédure, à voir.

Merci de ton aide

Maintenant, si tu as une autre idée pour une autre procédure, à voir.

Par code mais voyons si un spécialiste formule plus aguerri que moi passe par ici

Le souci que je vois est qu'il faut savoir quand commence la semaine 1 dans le mois concerné. Après en ajoutant 7 jours on se retrouve pour les suivantes

Déjà votre formule en W11 pourrait être modifiée comme ceci

Dans le fichier posté en W11, la formule --> =SI(NBCAR(W$9)=0;0;SIERREUR(SI(ET(W$8>=RECHERCHEV($A11;Tableau2;10;FAUX);(W$8<=RECHERCHEV($A11;Tableau2;11;FAUX)));SI(INDEX(BD;EQUIV($A11;colo;0);EQUIV(TEXTE(W$8;"JJJJ");Tableau2[[#En-têtes];[ID]:[Technicien]];0))=0;0;INDEX(BD;EQUIV($A11;colo;0);EQUIV(TEXTE(W$8;"JJJJ");Tableau2[[#En-têtes];[ID]:[Technicien]];0)));0);0))

Puis recopier à droite et vers le bas

Dan,

Voilà, j’ai fait la modification du code, tout fonctionne toujours bien correctement.

Merci à toi.

Oui je suis d’accord avec toi et j’espère qu’un spécialiste en formule pour pouvoir m’aider car ça serait sympa de pouvoir faire l’intégration de ses prestations qui sont beaucoup plus compliqué.

Je sais pas si je peux te demander, car dans mon Userform j’ai un problème quand je supprime la dernière ligne du tableau car avant mon Userform étais avec +/- 90 colonnes mais le dossier était beaucoup trop lourd maintenant. Je me base seulement sur la base de données car c’est beaucoup plus léger mais ça cause problème pour la suppression de la dernière ligne du tableau , si tu as la solution, ça serait sympa.

Merci.

Je sais pas si je peux te demander, car dans mon Userform j’ai un problème quand je supprime la dernière ligne du tableau car avant mon Userform étais avec +/- 90 colonnes mais le dossier était beaucoup trop lourd maintenant. Je me base seulement sur la base de données car c’est beaucoup plus léger mais ça cause problème pour la suppression de la dernière ligne du tableau , si tu as la solution, ça serait sympa.

Je peux regarder oui

Le souci que je vois c'est que j'ai l'impression que vous avez d'abord fait ce fichier dans un tableau traditionnel puis que vous êtes passé en tableau structuré.
A priori il me semble que l'on vous a compliqué le code inutilement.

Crdlt

EDIT :

Pour votre demande remplacez le code supprimer par celui ci-dessous

Private Sub B_sup_Click()
If Me.Enreg <> "" Then
    If MsgBox("Etes vous sûr de supprimer " & Me.textbox2 & "?", vbYesNo) = vbYes Then
        Range("Tableau2").Rows(ListBox1.ListIndex + 1).Delete 'tableau2 = nom tableau structure en feuille BD2
        ListBox1.RemoveItem (ListBox1.ListIndex)
        Me.Enreg = Range("Tableau2").Rows.Count
        'Range(nomtableau).Rows(Me.Enreg).Delete
        'Me.Enreg = ""
        'UserForm_Initialize
        'raz
        'Me.Enreg = Range(nomtableau).Rows.Count '+ 1
    End If
End If
End Sub

j'ai volontairement laissé les anciennes lignes en les désactivant à 'aide d'une apostrophe

Faites quelques tests

Mais je viens de voir que vous aviez fait cette demande ici -->https://forum.excel-pratique.com/s/goto/1110034....
Pensez à aller cloturer ce fil en faisant référence à celui-ci.

Crdlt

bonjour Dan.

bonjour Dan.

Je te remercie. Le code fonctionne parfaitement.

Bien entendu j’ai supprimé l’autre Demande comme tu me l’as demandé.

Encore merci à toi, j’espère qu’il y aura une bonne âme pour trouver ma solution de la formule pour tous les 15 jours et entre une et cinq fois semaine. Merci merci

Bonjour,

Quelques questions au sujet des colonnes où vous comptez mettre un X, quelles sont les possibilités que vous pouvez avoir
1. Est-ce le 15 jours ne peut pas être remplacé par une croix dans semaine 1 et semaine 3
2. Est-ce qu'il se peut que vous mettiez une croix dans chacune des colonnes Semaine
3. Comment vous allez savoir quelle est la semaine 1 dans le mois ou les autres semaine. Dans votre fichier on peut penser que la semaine 1 commence toujours en colonne W. Mais il faut bien penser que W peut mentionner un jour entre lundi et dimanche. exemple sur Mai 2022 ou W est un dimanche et où vous avez 5 dimanche Dans ce cas Semaine 1 = dimanche ?

L'ajout des X complexifie vraiment la solution. Que ce soit par formule ou par code VBA

Crdlt

bonjour dan,

Non, les 15 jours ne peut pas être mis dans les semaines de 1 à 4.

Car les 15 jours commence, toujours à partir de la date du début de chantier.

Récapitulatif.

Quand nous mettons 15 jours ou qu’on met une croix dans le 15.

Il ne peut y avoir qu’une seule prestation dans la semaine.

Pourquoi on ne peut pas mettre tous les 15 jours dans une, 23 quatrième semaine.

une 23 quatrième semaine.

Car Simon fait cela, ça ne reviens plus à tous les 15 jours.

Par compte pour les prestations par semaine.

Ça nous permet de mettre une prestation par mois ou deux prestations par mois ou trois prestations par mois.

Toujours par rapport au jour de la semaine.

Si la prestation dans les jours de la semaine est un mardi.

Et qu’on coche la première et la troisième semaine.

Donc le premier mardi du mois et le troisième mardi du mois, il y aura une prestation.
si tu veux je peux t’envoyer un tableau exemple.

merci à toi.

7testv1.xlsx (17.00 Ko)

bonjour

un essai sans "les 15 jours" ( mais en cochant une semaine sur 2 ........)

6pour-dan-3.xlsx (16.94 Ko)

Bonjour, tulipe_4

Je te remercie pour l’investissement pour résoudre mon problème.

Maintenant il ne reste plus à le faire intégrer avec le code existant, et surtout la date de début et date de fin .

mais c’est sur la bonne voie.

En tout cas, encore un grand merci à toi et à notre ami Dan.

Bonjour

Faites un retour de votre essai. Si ok

Cordialement

bonjour

j'ai noté un os si les semaines s'étendent sur 5 (en mars de mémoire) il faudrait rajouter une 5 ieme semaine avec avertissement

cordialement

Rechercher des sujets similaires à "blocage formule"