Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction if imbriqué

Alek

XLDnaute Nouveau
Bonjour

J'aimerai réaliser une imbrication de fonction if

Par exemple lorsque entreprise 2 à une livraison de 7 à 9h je rentre la valeur dans le tableau du dessous et le nom de l'entreprise s'ajoute avec un fond colore et rempli les cases de 7 à 9h mais du coup n' affiche pas entreprise 1 .

J'aimerai savoir si il est possible de mettre une fonction pour que seulement la case 7-8h ce remplisse si je rempli 7-8h et si je rentre 7-9h (tableaux du dessous) les deux cases ce remplissent


Sachant que je vais avoir plus d'entreprises par la suite à ajouter et d'autres horaires.

Ou existe-il une manière plus simple de procéder ?

Bien cordialement

merci d'avance pour votre aide
 

Pièces jointes

  • Essais planning.xlsx
    39.1 KB · Affichages: 30

vgendron

XLDnaute Barbatruc
Bonjour

Voir PJ pour début de solution à adapter si tu as plus d'entreprises
avec fonction personnalisée
voir code avec editeur VBA
 

Pièces jointes

  • Essais planning (1).xlsm
    46.9 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
Re

avec modif pour permettre de prendre en compte automatiquement toutes les entreprises présentes sur la ligne 18 --> impose que tu as toujours 3 colonnes (Début - Fin - Poids) PLUS une colonne vide pour séparer les entreprises
et pas de fusion de cellules sur la ligne 18

j'ai aussi mis des commentaires dans le code
ET dans le tableau D4:L11, j'ai "formaté "Renvoyer à la ligne automatiquement" pour que les entreprises soient mises les unes en dessous des autres
sinon. le CHR(10) du code ne fonctionne pas...??...
 

Pièces jointes

  • Essais planning (1) (1).xlsm
    47.8 KB · Affichages: 27

Alek

XLDnaute Nouveau
Merci beaucoup c'est super, votre aide m'est précieuse.

A vrai dire c'est la première fois que je me lance dans le codage sur excel, j'ai donc beaucoup à apprendre et je vais analyser votre code afin de pouvoir me débrouiller seul pour des prochaines fois.
Le fonction pour ajouter des entreprises est super

Je voulais savoir comment faire car j'ai besoin de rajouter des horaires (de 11h jusqu'à 16h), comment puis-je m'y prendre?
et si je rajoute des dates dois-je changer tout cela dans le code? par exemple si je veux aller jusqu'à décembre 2017
Et est'il difficile de rajouter une barre de défilement pour faire défiler le planning par code (de juin puis jusqu'à Août par exemple si j'ai besoin)?

PS: cela va paraître bête mais je n'ai pas compris votre question...

Encore un grand merci,

Alek
 

vgendron

XLDnaute Barbatruc
Nouvelle version avec plus de créneaux horaires et donc code modifié
si tu ajoutes ou supprimes d'autres créneaux, il faudra juste modifier les deux valeurs en début de function

pour la barre de défilement... je ne sais pas du tout comment faire.. mais j'ai déjà vu ca sur ce forum.. tu peux toujours taper une recherche avec Planning déroulant, glissant.. ou un truc comme ca

pour la question. en fait, c'était pas une question. juste une façon de dire que moi meme, je ne comprends pas pourquoi il faut la mise en forme "Renvoyer à la ligne automatiquement"
 

Pièces jointes

  • Essais planning Rev2.xlsm
    49.8 KB · Affichages: 26

Alek

XLDnaute Nouveau
Super encore merci

Et si je veux ajouter des dates cela fonctionne de la même manière? En faite le must serait que lorsque je remplis la colonne B avec les dates, la ligne des dates dans le planning ce mette a jour. J'ai teste quelques trucs pour mettre le planning jusqu’à Juillet ou Août mais rien n'a fonctionne j'ai une erreur a partir du 23 Juin.


Pas de problème je vais me débrouiller pour ça, vous m'avez déjà grandement aidé et avec des tutos ça doit bien ce faire.

Oh d'accord je n'avais pas compris.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re

pour la question des dates en plus..
voir PJ
j'ai ajoutté une barre de défilement sous le planning:
elle permet de changer la première date en D24:
soit de 1 jour par 1 jour, en cliquant sur les deux flèches aux extrémités
soit de 7 jours en 7 jours en cliquant DANS la barre de défilement (pourquoi 7? parce que 7 = 1 semaine.. mais on peut aussi changer pour mettre mois par mois

tu peux donc aussi augmenter ou diminuer le nombre de dates affichées sur la feuille.

j'ai aussi ajouté l'info du numéro de semaine à laquelle appartient le date de début en D24
et modifié la fonction pour qu'elle ne retourne pas #valeur quand il n'y a rien
 

Pièces jointes

  • Essais planning Rev3.xlsm
    55.5 KB · Affichages: 20

Alek

XLDnaute Nouveau
Oh super ça fonctionne du tonnerre ! C'est parfait exactement ce dont j'ai besoin. Je ne vous remercierait jamais assez pour votre aide.

Cette idée de barre est pas mal du tout, je vais en rajouter une pour les dates et horaires en colonnes pour les entreprises

Dernier petit problème lorsque par exemple je rentre une heure durant juillet ou août rien ne s'affiche dans le planning, j'ai essayé de chercher dans le code le problème mais je ne vois rien qui pourrait le bloquer à une certaine date? Je ne m'explique pas cet arrêt courant Juin

Alek
 

vgendron

XLDnaute Barbatruc
ah ouiiii.. je viens de comprendre ton problème!!

c'est à cause de la zone définie "Dates"
elle s'arrete à la ligne 47.. donc. toutes les dates après ne sont pas prises en compte par la macro

voir modif
j'ai supprimé la zone "Dates"
et j'ai transformé le tableau en TABLE excel que j'ai renommé Dates
tu peux donc ajouter autant de dates que tu veux.. la table va s'ajuster automatiquement et le code continuer à fonctionner correctement..
 

Pièces jointes

  • Essais planning Rev5.xlsm
    63.4 KB · Affichages: 24

Dugenou

XLDnaute Barbatruc
Bonjour Alek, Vgendron : mes respects
Je n'avais lu que le premier message et je me suis amusé à le faire en formule.
En cliquant sur répondre j'ai vu la suite .... c'est fait donc je poste.
Juste une ébauche donc, valable pour deux entreprises.
Je vais maintenant regarder le dernier fichier proposé par Vgendron

Edit : bon ben je remballe. Bravo VG c'est pratique ! Je fais finir par regretter de na pas manipuler le VBA : très chouette la barre de défilement pour le calendrier ! Très élégant la fonction Qui()
 

Pièces jointes

  • alek.xlsx
    41.1 KB · Affichages: 26

Alek

XLDnaute Nouveau
Waho super,

Au départ je voulais le faire en fonction IF comme le votre Dugenou mais c'était très dense et pas forcément la meilleur solution. Je regrette aussi de ne pas maîtriser le VBA, ce que l'ont peut faire avec est simplement magique.

D'ailleurs j'analyse les différentes lignes afin d'apprendre et je compare le nouveau avec les codes des anciens, mais je ne vois (ou comprends?) pas ou est cette zone date définie à 47 dans les précédents fichiers?

Désoler de vous importuner même après m'avoir aidé...

En tout cas le fichier fonctionne parfaitement bien
 

vgendron

XLDnaute Barbatruc
Hello Dugenou !
Stop n'en jette plus. je vais finir par rougir
en plus...suis sur que c'est loin d'etre parfait... vu la lenteur d'exécution de cette fonction qui..
Alek, pour la zone "Dates". et bien. dugenou t'a répondu
vu qu'il y a d'autres zones définies, j'ai pensé que tu connaissais déjà. et je n'ai donc pas pris la peine de t'expliquer.. désolé
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…