IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Déplacer plusieurs cellules d'une colonne en fonction d'une date


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Déplacer plusieurs cellules d'une colonne en fonction d'une date
    Bonjour à tous !

    Je bute depuis un moment sur une formule/MACRO afin de pouvoir décaler une cellule vers le bas en fonction d'une date.

    En gros, j'ai des taches journalières du Lundi au Vendredi, mais rien les jours féries et le week-end.
    Si la personne prend du retard sur son planning, je lui rajoute une journée (cellule vide) et doit décaler toutes les cellules du dessous vers le bas. Cela décale donc le lundi au mardi, le Mardi au Mercredi et la difficulté : le Vendredi au Lundi. (Donc avec le samedi et le dimanche qui ne bouge pas).

    Je n'ai pris ici qu'une partie de mon tableau mais sur l'échelle d'une année c'est très fastidieux et je souhaiterais trouver une formule pour décaler toutes les cellules d'un coup.

    Je ne sais même pas si il vaut mieux utiliser une macro ou une formule. J'ai essayer la fonction DECALER mais ça ne marche pas du tout.

    Merci d'avance pour vos réponses.

    Très bonne journée.
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour, bonjour !

    Pas d'idées ? Ou même de conseils pour m'orienter dans mes recherches ?

    Merci beaucoup,

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien ERP
    Inscrit en
    Mars 2014
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien ERP

    Informations forums :
    Inscription : Mars 2014
    Messages : 106
    Points : 91
    Points
    91
    Par défaut
    Bonjour Clafouty,

    Si je comprends bien ta demande, tu souhaite décaler vers le bas les données saisies d'une colonne si une cellule intermédiaire est vide ?

    En ce qui concerne les formules, cela me parait impossible car une cellule est soit en saisie soit en formule. Si j'ai bien compris ta demande, tu voudrais y mettre les deux.

    Je ne suis pas expert en VBA donc laisserai les développeur t'orienter plus précisément. mais je pense qu'une macro doit pouvoir t'aider.

    Cordialement

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour Timkeeper,

    Merci beaucoup pour ta réponse !

    Désolé de mon imprécision, aussi je vais m'aider d'images :

    Je pars de ceci :
    Nom : V1.JPG
Affichages : 805
Taille : 43,6 Ko

    Malheureusement, la personne ne commence pas le 23 Juillet mais le 24 Juillet. Je dois donc décaler de 1 jour le tout mais si je rajoute une cellule et décale vers le bas, je me retrouve avec ceci :
    Nom : V2.JPG
Affichages : 790
Taille : 41,3 Ko

    Ce qui ne convient pas malheureusement car cela me décale aussi le week-end.

    En gros, la formule serait "si jour = Lundi à Jeudi il faut décaler de +1" mais si jour = Vendredi il faut décaler de 3"

    Vous me direz : il suffit de copier le premier 1 en haut et le mettre tout en bas, mais j'ai simplifié via cet exemple. Dès que je décale de plus de 3 cela me fausse toute la suite.

    Autres informations, je ne sais pas si c'est utile : mes cellules ne sont remplies que de textes.

    Je ne connais pas du tout le VBA donc je ne sais pas du tout de quoi partir... Du coup j’espère qu'un développeur passera par là

    Merci d'avance !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Je me permets de le UP une dernière fois avant de laisser tomber et de toujours le faire à la main.

    Des conseils au moins ?

    La fonction déplacer ne m'aide pas beaucoup et je n'en trouve pas d'autres.

    Merci d'avance à tous ceux qui voudront bien m'aider.

  6. #6
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut VBA précisions pour le cahier des charges
    Bonjour,

    effectivement, je ne vois pas comment ne pas passer par un peu de code.

    Si j'ai bien compris, il faut écrire une macro qui, à partir d'une cellule sélectionnée, va descendre dans le calendrier (vers le futur) jusqu'à trouver une cellule vide d'un jour ouvré. Dans cette cellule, il faut mettre la valeur trouvée dans le jour ouvré précédent et remonter ainsi jusqu'au point de départ. Sauf si toutes les cases occupées valent 1 dans ce cas on ne remplit que la première case vide.
    Est-ce que tous les jours occupés contiennent la valeur 1 ? Peuvent-ils contenir 0,5 s'il y a une demi-journée de charge ? Peuvent-il contenir du texte quelconque qu'il faut décaler ?

    Comment vois-tu le déclenchement du décalage ? On peut ajouter un bouton qui, quand on clique dessus, décale les valeurs d'une journées à partir de la case sélectionnée. On peut faire un menu contextuel : on clique bouton droit et on a le choix "Décaler d'un jour", "Décaler de 2 jours", "Décaler d'une semaine".

    Comment sont gérés les jours fériés ?

    Si je dois décaler une tâche de 2 jours, mais qu'il n'y a qu'une journée de vide entre la fin de la tâche courante et le début de la suivante, est-ce que ça décale la première tâche de 2 jours et la deuxième tâche d'un jour ?

    A quoi ressemble la fin de ton tableau ?

    S'il faut décaler à partir d'une journée qui est au milieu d'une tâche (un 1 la veille, un 1 le jour même et un 1 le lendemain), est-ce qu'après le décalage il y aura une case vide le jour même ?

    Cordialement.
    De la réflexion, naît l'action ...

  7. #7
    Membre actif Avatar de Denis la Malice
    Homme Profil pro
    FabManager
    Inscrit en
    Février 2013
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : FabManager
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2013
    Messages : 133
    Points : 287
    Points
    287
    Par défaut Un exemple
    Voici un exemple d'implémentation utilisant un planning annuel dans un tableau (de type Listobject).
    Le grisé des cellule est obtenu par mise en forme conditionnelle (ainsi que la mise en rouge des tâches programmées le week-end).
    La colonne C est masquée. Il ne faut pas changer le nom de cette colonne dans le tableau ("SDF") sous peine de non fonctionnement.
    Le code est commenté juste ce qu'il faut.
    Il y a une petite astuce : si on change le nom de la feuille en "Planning 2015", alors le calendrier affiché sera celui de 2015 (sans VBA).
    Fichiers attachés Fichiers attachés
    De la réflexion, naît l'action ...

Discussions similaires

  1. Trier une colonne en fonction d'une autre colonne
    Par Joelatack dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/06/2012, 14h27
  2. [Toutes versions] Incrémenter une colonne en fonction d'une autre
    Par simon17 dans le forum VBA Access
    Réponses: 9
    Dernier message: 03/11/2010, 16h27
  3. [XL-2003] Compter valeurs d'une colonne en fonction d'une autre colonne
    Par greggy dans le forum Excel
    Réponses: 2
    Dernier message: 03/11/2009, 12h51
  4. Somme d'une colonne en fonction d'une autre
    Par j.mathieu dans le forum Excel
    Réponses: 6
    Dernier message: 16/08/2008, 14h55
  5. Contraite NULL sur une colonne en fonction d'une autre colon
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2004, 19h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo