Ma formule ne fonctionne pas lorsque 2 valeurs dans la cellule

Bonjour chers utilisateurs et merci pour vos éventuelles réponses.

Je travaille dans un hôtel et mes collègues et moi même travaillons sur un planning.

Par jour, chaque collègue possède sa colonne, et inscrit sur une ligne d'horaire la chambre qu'il doit nettoyer (Il y a 62 chambres, certaines plus petites que d'autres).

Sur une deuxième feuille, j'ai créé le planning individuel de chaque chambre (il y a donc 62 petits tableau sur lequel on cochait à la main l'heure à laquelle nous prévoyons d'y faire le ménage). Chaque papier est découpé et déposé dans la chambre correspondante (il y a un petit classeur d'entretien dans chaque chambre et nous y déposons les planning correspondants).

J'en ai eu marre de remplir à la main chaque papier j'ai donc décidé de me mettre à excel et j'ai réussi la chose suivante : Quand je rentre un numéro de chambre dans le planning de nettoyage ( exemple Antoine (colonne) 9h00 (ligne) 22 (numéro de chambre que je rentre)), une petite croix apparaît automatiquement sur le deuxième feuillet, à 9h sur le planning de la chambre 22 (grâce à la fonction =si(ou...) ! Super super super gain de temps !

Quel est le problème ? Et bien parfois nous notons plusieurs chambres à nettoyer à 9h DANS LA MEME CELLULE (exemple la numéro 2, la 5 et la 22) car aucun client n'a pris la chambre et le ménage à faire est très rapide. Du coup, aucune croix n’apparaît sur les planning du second feuillet au niveau des chambres 2, 5 et 22. Je ne peux pas diviser les cellules car le planning tiens sur une feuilles A3 et surtout il doit rester lisible.

Pouvez-vous m'aider ?[

Merci infiniment !

22planning-test.xlsx (50.21 Ko)

Bonjour ! Bienvenue sur le Fofo !

Je vais pas avoir le temps de continuer (pas avant la fin d'après-midi tout cas) mais voici une piste !

Dans la boucle, je compte mettre une recherche du Split dans la Feuil2 !

Pour tester la macro, entrer n'importe où sur la Feuille1 des numéros de chambre avec des espaces entre chaque

Je continuerai dès que je le peux ^^

Bonjour boulibouzigue,

Au lieu de mettre une formule SI avec OU, je pense que le mieux est de ne mettre que des SI, comme ci-dessous :

=SI(Feuil1!B4=22;"X";SI(Feuil1!B5=22;"X";SI(Feuil1!C4=22;"X";SI(Feuil1!C5=22;"X";""))))

Et des que le bon nombre est détecté dans n'importe quelle cellule de la plage voulue, le "X" se mettra bien.

Bonne journée,

Bonjour

Le souci est que les numéros de chambre sont renseignés en utilisant ALT ENTREE

Donc forcement tu ne pourras pas créer de formule automatique

Pourquoi tu ne mets pas 3 lignes par tranche horaire en n'inscrivant qu'un seul numéro de chambre par cellule. Monter à 4 lignes si vous etes capables de faire 4 chambres par tranche

Cela va agrandir ton fichier mais tu peux largement réduire la taille de tes lignes sans changer au final la taille globale pour impression

Bonjour ! Bienvenue sur le Fofo !

Je vais pas avoir le temps de continuer (pas avant la fin d'après-midi tout cas) mais voici une piste !

Dans la boucle, je compte mettre une recherche du Split dans la Feuil2 !

Pour tester la macro, entrer n'importe où sur la Feuille1 des numéros de chambre avec des espaces entre chaque

Je continuerai dès que je le peux ^^

Merci Juice j'attends ça avec impatience :

Bonjour boulibouzigue,

Au lieu de mettre une formule SI avec OU, je pense que le mieux est de ne mettre que des SI, comme ci-dessous :

=SI(Feuil1!B4=22;"X";SI(Feuil1!B5=22;"X";SI(Feuil1!C4=22;"X";SI(Feuil1!C5=22;"X";""))))

Et des que le bon nombre est détecté dans n'importe quelle cellule de la plage voulue, le "X" se mettra bien.

Bonne journée,

Merci pour ton message IronBoule mais malheureusement ta formule ne résous pas mon problème. Quand je met 2 chambres dans une seule cellule, les croix ne s'affichent plus dans les planning de la 2ème feuille...

Merci en tout cas !

Bonjour

Le souci est que les numéros de chambre sont renseignés en utilisant ALT ENTREE

Donc forcement tu ne pourras pas créer de formule automatique

Pourquoi tu ne mets pas 3 lignes par tranche horaire en n'inscrivant qu'un seul numéro de chambre par cellule. Monter à 4 lignes si vous etes capables de faire 4 chambres par tranche

Cela va agrandir ton fichier mais tu peux largement réduire la taille de tes lignes sans changer au final la taille globale pour impression

Merci evolm pour ton message. J'ai effectivement pensé à ça. Faudrait que je revois le format du planning du coup... Si je ne trouve pas de solution je ferai comme ça

Merci pour ton message IronBoule mais malheureusement ta formule ne résous pas mon problème. Quand je met 2 chambres dans une seule cellule, les croix ne s'affichent plus dans les planning de la 2ème feuille...

Merci en tout cas !

Oui, j'avais oublié de préciser que j'avais enlevé la fusion des cellules pour pouvoir mettre un numéro dans une seule cellule.

IB

Salut tout le monde,

pas vraiment le temps tout de suite mais je te fais ça à ma manière (VBA) ce soir .

  • j'enlève les cellules fusionnées ;
  • une seule ligne par 1/2 heure ;
  • j'encode les n° de chambre ainsi : 5/8/56 ;
  • avec un peu de jugeotte (et de calme), je devrais pouvoir t'écrire ça en quelques lignes.

A+

Salut tout le monde,

pas vraiment le temps tout de suite mais je te fais ça à ma manière (VBA) ce soir .

  • j'enlève les cellules fusionnées ;
  • une seule ligne par 1/2 heure ;
  • j'encode les n° de chambre ainsi : 5/8/56 ;
  • avec un peu de jugeotte (et de calme), je devrais pouvoir t'écrire ça en quelques lignes.

A+

C'est exactement de ça dont j'ai besoin ! Pouvoir écrire mes chambres 15 /5 /22 dans une cellule et que ça coche mes plannings !

You're my man

Thank you !!

Salut Boulibouzigue,

Petite question existentielle : pourquoi prévois-tu 12h et 16h30 sur ton planning et pas sur tes étiquettes à imprimer?

Je ne te donne donc pas le code complet car ces différences entre planning et étiquettes font toute la différence!

Une ligne de calcul pour placer tes "X"

 .Cells.Find(what:="Chambre " & tData(x), lookat:=xlWhole, searchdirection:=xlNext) .Offset(Target.Row - 2, Cells(11, Target.Column)) = "X"

A+

Salut Boulibouzigue,

Petite question existentielle : pourquoi prévois-tu 12h et 16h30 sur ton planning et pas sur tes étiquettes à imprimer?

Je ne te donne donc pas le code complet car ces différences entre planning et étiquettes font toute la différence!

Une ligne de calcul pour placer tes "X"

 .Cells.Find(what:="Chambre " & tData(x), lookat:=xlWhole, searchdirection:=xlNext) .Offset(Target.Row - 2, Cells(11, Target.Column)) = "X"

A+

Salut Curulis57,

Bon je veux pas abuser, mais le langage VBA je ne connais et surtout je ne sais ce que ça modifie... J'ai reformater complètement le planning de nettoyage (C'est vrai qu'il avait subi pas mal de changements avec le temps) et j'ai effectivement supprimé la ligne de 12h (qui nous a simplement servi pendant les congés).

Peux-tu s'il te plait rentrer directement la formule? dans le module? dans mon nouveau planning et terminer ta formule ?

Toute l'équipe me demande jour après jour si je m'en sors avec ce planning car il nous prends trop à réaliser.

Je t'annonce donc que le confort du travail de 5 personnes dépend de toi ! "Le sors de toute l'humanité repose sur toi Astérixsme" !

Merci infiniment en tout cas !

Re :p

Désolé d'arriver comme un cheveu dans la soupe, mais du coup j'ai fini le fichier dont j'ai parler hier x)

Il est fonctionnel (Il met les pitites croix dans les bonnes cases) mais je peut encore l'améliorer :

J'aurai aimé rajouter du code du style "SI l'utilisateur clique sur supprime sur un numéro de chambre en feuille 1 ALORS aller supprimer la croix dans la feuille 2" mais je veux savoir si se fichier te tente avant ou pas, que j'aille travailler sur d'autre topic sinon xD

Restant à dispo

Re :p

Désolé d'arriver comme un cheveu dans la soupe, mais du coup j'ai fini le fichier dont j'ai parler hier x)

Il est fonctionnel (Il met les pitites croix dans les bonnes cases) mais je peut encore l'améliorer :

J'aurai aimé rajouter du code du style "SI l'utilisateur clique sur supprime sur un numéro de chambre en feuille 1 ALORS aller supprimer la croix dans la feuille 2" mais je veux savoir si se fichier te tente avant ou pas, que j'aille travailler sur d'autre topic sinon xD

Restant à dispo

OMG Juice !! C'est exactement ça dont j'ai besoin ! J'ai pas compris comment t'as fait mais c'est parfait. Alors oui si tu peux faire en sorte que quand j'efface une chambre, cela efface la croix, ya plus qu'à t'attribuer la légion d'honneur

J'ai juste un énorme service à te demander (je sais un de plus ! ), peux tu terminer ton travail sur ce nouveau fichier. J'ai retravailler le format (en enlevant les cases 12h et 16h30 idem sur les plannings chambres et en attribuant dé fusionnant les cellules pour que ça soit plu clair. Si tu arrives à faire ça, on te construit une statue !

Merci les utilisateurs pour vos efforts nous sommes très touchés !

Salut Boulibouzigue,

Salut Juice,

  • tu encodes tes chambres solo ou séparées par un slash : 22 ou 5/9/25 ;
  • si erreur ou changement :
* tu sélectionnes et tu changes ou complètes sans oublier le "/" si nécessaire ;

* double-clic pour effacer l'encodage du planning et des étiquettes.

- pour changer la date du planning, tu complètes seulement [B2] en format date classique.

Ainsi, pour la semaine prochaine, en [B2], tu écris 3/9/2018, les formules faisant le reste pour le planning et les étiquettes.

Lors d'un changement de date en [B2], planning et étiquettes sont nettoyés, bien sûr!

! ATTENTION !

J'utilise la cellule [A10] ainsi que la ligne 17 sous le tableau : PAS TOUCHER (surtout la ligne 17) sous peine de surprises!!

        tData = Split(Target, "/")
        For x = 0 To UBound(tData)
            .Cells.Find(what:="Chambre " & tData(x), lookat:=xlWhole, searchdirection:=xlNext) _
            .Offset(Target.Row - 2, Cells(17, Target.Column)) = "X"
        Next

Bon travail!

A+

11planning.xlsm (54.65 Ko)

@Boulibouzigue,

@Curulis,

Le fichier de Curulis répond à tout tes besoins

Plus besoin que je travaille sur le mien !

Sur ce messieurs, à une prochaine ;D

Salut Boulibouzigue,

petit délire...

Dans 'Planning' :

  • un n° de chambre répertorié 2X la même journée est écrit en BLEU ;
  • un n° de chambre inexistant est coloré en ROUGE ;
  • si tu as un "spasme" à l'encodage affichant "//", la macro le corrige en "/".

Pour d'autres bêtises à l'encodage, retourner à l'école!

For x = 1 To 2
    For Each rCel In rCells
        If rCel.Value <> "" Then
            tData = Split(rCel.Value, "/")
            For y = 0 To UBound(tData)
                If x = 1 Then
                    tRoom(CInt(tData(y))) = tRoom(CInt(tData(y))) + 1
                Else
                    iOK = 0
                    If tRoom(CInt(tData(y))) > 1 Then iOK = 1
                    If CInt(tData(y)) < 1 Or CInt(tData(y)) > 62 Then iOK = 2
                    If iOK > 0 Then
                        iFlag = InStr(rCel, tData(y))
                        rCel.Characters(iFlag, IIf(CInt(tData(y)) < 10, 1, 2)).Font.Color = IIf(iOK = 1, RGB(0, 115, 195), RGB(255, 0, 0))
                        rCel.Characters(iFlag, IIf(CInt(tData(y)) < 10, 1, 2)).Font.Bold = True
                        rCel.Characters(iFlag, IIf(CInt(tData(y)) < 10, 1, 2)).Font.Size = 14
                    End If
                End If
            Next
        End If
    Next
Next

A+

7planning.xlsm (58.97 Ko)

Salut les amis,

Grâce à vous nous avons un SUPER planning qui répond exactement à nos attentes ! Nous l'avons essayé vendredi et c'est bien plus confortable.

Merci encore à cette belle communauté et merci à curulis57 qui nous apporte la cerise sur le gâteau avec sa dernière modification.

MERCI de toute l'équipe !!!!

Salut Boulibouzigue,

nouvelle cerise à laquelle je suis impardonnable de ne pas avoir pensé plus tôt!

Un double-clic en [B2] (la date du lundi) affiche le calendrier de la semaine suivante : plus besoin de taper la date!

If Not Intersect(Target, [B2]) Is Nothing Then [B2] = DateAdd("d", 7, [B2])

Bon travail!

A+

11planning.xlsm (59.62 Ko)

Salut Curulis57,

Merci pour cette nouvelle cerise sur le gâteau ! Je reste un petit peu sur ma faim néanmoins... en effet, on aurait aimé une interface neuronale nous permettant de faire notre planning par la pensée ou au moins une petite intelligence artificielle (style Jarvis de Iron Man). Peux tu nous faire ça rapidement ? Vraiment respect !!

Nan plus sérieusement merci encore ça nous aide vraiment beaucoup !

Rechercher des sujets similaires à "formule fonctionne pas lorsque valeurs"