Affichage des valeurs inscrites 3 colonnes plus loin
Bonjour à tous,
Je vais relancer un topic que j'ai lancé et pour lequel je n'ai pas eu de réponse.
Je vais donc ici me limiter à l'essentiel
Voici mon projet
- j'ai un planning de location de logements avec des colonnes de logements, les jours de la semaine, et 2 colonnes entre chaque jour de la semaine
- ce planning est en lien avec une base qui contient en colonne les logements, les caractéristiques des logements et des champs que je souhaiterai mettre à jour automatiquement et facilement.
exemple : nous sommes samedi (c'est la location du jour), dans la base il y a ce champs "location du jour", mais également "location J+1", "location J+2", etc...
Mon but serait que le dimanche, je fasse "RECHERCHER / REMPLACER" pour la colonne "location du jour" ("RECHERCHER" colonne location du jour considérée le samedi, la "REMPLACER" par la colonne du dimanche, et qu'il me mette automatiquement les valeurs Location J+1 (donc le lundi), J+2 etc... à jour, en lien avec le planning (sans mettre"=planning!G5"), sinon la valeur peut déjà être présente pour la location J+1 qui arrive juste après (et "RECHERCHER/REMPLACER ne marche plus alors), donc qu'il ne m'affiche que la valeur affichée dans le planning.
J'espère avoir été clair sur ma demande et je vous laisse un document pour me faire comprendre.
Je pense qu'il s'agirait d'une formule qui "calculerait/afficherait"
- en J+1 "valeurs de la colonne location du jour dans le planning, et tu avances de 3 colonnes".
- en J+2 "valeurs de la colonne Loc J+1 dans le planning, et tu avances de 3 colonnes".
- etc...
Si vous avez une idée, cela me rendrait énormément service.
Cette idée peut bien sûr être différente de la méthode "RECHERCHER / REMPLACER"
Bien à vous
Bonjour
Un essai à tester.
Mais je ne suis pas sûr d'avoir bien compris.
Cela te convient-il ?
Bye !
Bonjour gmb,
Je vois que tu es encore toujours aussi RÉACTIF sur un souci éventuel de la communauté, c'est super de voir autant d'entraide et de recherche de solutions, SUPER !
J'ai téléchargé ta version et consulté ton code sur la macro.
J'avoue que je suis au début de mon apprentissage de VBA en essayant de comprendre quelques lignes (comme le fichier "projet_gestion de stock" où tu as su brillamment trouvé la solution, nickel !) ; j'ai globalement compris ta démarche mais des détails techniques m'échappent, ce n'est pas grave tant qu'ils me permettent au final EXACTEMENT le résultat escompté.
En fait, je vois dans ton code VBA du "riri", "fifi" etc....
L'idéal serait de ne jamais en parler (vu qu'ils sont là pour une journée (ou un peu plus), et de faire une méthode générale pour un jour donné ("location du jour")
Pour rappel donc sur ce que je recherche :
- il y aurait un fichier "planning" avec différentes colonnes : logements, jours de la semaine, et 2 colonnes entre chaque jour de la semaine
- un fichier "base" (avec des colonnes pour les caractéristiques de chaque logement ; ici : logement / tables / chaises) ET des champs à mettre à jour. (Location J+1, J+2, etc...)
Ces champs seraient à mettre à jour dans la "base".
Explications sur la "base" crée :
- si on la consulte comme cela : nous sommes samedi 1 ("location du jour"), et on a "LOC J+1" = dimanche 2, "LOC J+2" = lundi 3, etc... avec les noms des clients correspondants ou V (vides). (les liens n'ont pas été créés volontairement dans l'exemple)
Mon but (le travail se ferait sur le fichier "base")
- pouvoir remplacer la colonne ("location du jour") par N IMPORTE QUEL JOUR venant de "planning" pour avoir l'affichage des valeurs de "location du jour" désiré avec les valeurs correspondantes du "planning" pour "location du jour" et "location J+1", location J+2", etc...) dans la "base" (toujours avec les valeurs de "planning".
(par exemple, si je prends location du jour "= planning=!P4" = nous serions mercredi 5, et "LOC J+1" =jeudi 6, "LOC J+2" = vendredi 7, etc...), avec affichage des noms des locations ou V, ou LS...
- lorsque je choisis alors ce jour (une colonne de "planning") avec une méthode de "RECHERCHE/REMPLACER" dans "base" / "location du jour" (ou autre méthode, ou bouton macro "quel jour sommes-nous ?" - et l'on clique sur le jour du "planing", bouton de macro juste au dessus de "location du jour"....), je souhaiterai obtenir l'affichage automatique dans la base de "location du jour" + "LOC J+1, LOC J+2, etc.." avec les valeurs correspondantes.
Au final, je souhaiterai une mise à jour rapide de ma base avec le planning, de manière rapide, pour n'importe quel jour, et que l'affichage soit fait automatiquement dans ma base pour "LOC J+1", "LOC J+2", etc...
J'espère avoir été plus explicite....
Cdt
Bonjour gmb,
Tout d'abord, encore MERCI pour ton aide.
Nouvelle version qui me satisfait globalement car le résultat est bien celui souhaité sur une semaine (mais des fois la macro fonctionne très bien, des fois lorsque j'ouvre le document elle ne fonctionne plus, bizarre...)
Mais je "coince" sur le menu déroulant :
- il intègre les jours de la semaine, mais ne mentionne pas la date : samedi 1, dimanche 2 etc...
- il pourrait vite s'allonger si on fait le planning sur plusieurs semaines. Cela me dérangerait pas trop, mais peut-être y aurait-il une solution pour choisir la date directement dans le planning ? (du type un bouton sur lequel on clique, qui me demande le jour à considérer, et me demande de cliquer sur la date voulue dans l'onglet "planning" (dans mon projet, ce planning sera sur un autre document que j'aurais ouvert au préalable) OU une autre méthode permettant de lui renseigner la date à considérer.
Je te rejoins le document vierge avec maintenant un planning sur 15jours pour que ma demande soit plus explicite et pour que l'on puisse prendre l'exemple de différents jours en "location du jour" sur une période de 15 jours.
Si tu as arrives à adapter la macro que tu as créé, ce serait super (donc avec un long menu déroulant sur 15 jours, mais je pense que cela nécessite de saisir manuellement tous les jours, non ? ou y a t il possibilité de lui dire quel jour choisir dans le planning ?)
Cela me permettrait plus facilement de comprendre les lignes de ta macro et de m'améliorer dans la compréhension du VBA.
Bien cordialement
Bonjour gmb,
MERCI pour cette nouvelle réponse : c'est EXACTEMENT ce que je recherche.
Dernières petites questions avant de marquer ce post "résolu" et de pouvoir adapter ta méthode sur un planning d'un an :
- pourrais-tu m'indiquer pourquoi les onglets "planning" et "base" ont du être recopiés : pourquoi doivent-ils être recopiés ? merci de me dire ce qui dans le code VBA l'oblige (pour que j'aille potasser dessus) : je pense qu'ils doivent servir de base de travail pour la macro, mais je ne suis pas sûr.
- est-il possible, par rapport à l'onglet "base", de se servir du résultat affiché et de créer un tableau croisé dynamique ?
En d'autres termes, je souhaite créer un tableau croisé dynamique, pour faire un rapport qui me permettrait de connaitre le nombre total de "lits", (ou de "chaises") pour le jours actuel et les J+1 à venir, en excluant les "V", "LS2", "LS3", etc... (tous les LS) ?
Cordialement
Bonjour
d-85 a écrit :pourrais-tu m'indiquer pourquoi les onglets "planning" et "base" ont du être recopiés : pourquoi doivent-ils être recopiés ? merci de me dire ce qui dans le code VBA l'oblige (pour que j'aille potasser dessus) : je pense qu'ils doivent servir de base de travail pour la macro,
Pas du tout.
Lorsque j’écris une macro, je la teste à chaque étape. Et le résultat est parfois tel que je me retrouve avec un document en partie effacé modifié ou même détruit.
En ayant pris la précaution de les avoir dupliqués, un simple copier-coller me permet alors de poursuivre sans perdre beaucoup de temps.
J’ai simplement omis de les détruire quand la macro a été au point.
est-il possible, par rapport à l'onglet "base", de se servir du résultat affiché et de créer un tableau croisé dynamique ?
Je ne suis pas un spécialiste des tableaux croisés dynamiques mais pourquoi pas ?
En revanche, si tu refais tourner la macro dessus, gare à ce que deviendra ton TCD !
Essaie toujours !
Bye !
Re-bonjour gmb,
Merci pour ces informations.
Je vais donc analyser et adapter les lignes de ton merveilleux travail à un planning de plus grande capacité.
J'essaierai de faire un tableau croisé dynamique. En fait il y aura une base comme celle-ci (mais beaucoup plus complète avec d'autres champs que "lits", "chaises", mais avec toujours "location du jour", "J+1", "J+2" etc.... J'essaierai ! mais au moins cette première base de travail que tu as réalisé va beaucoup m'aider, encore MERCI je note ce post comme "résolu".
Bien cordialement
Bonjour
J'ai voulu adapter la version proposée qui fonctionne très bien (doc V2, avec quelques logements et quelques jours) avec une version beaucoup plus complexe (35 logements sur près de 80 jours). J'ai juste ajouté une colonne que j'ai énormément besoin dans mon projet (colonne PAX)
Malheureusement malgré mon apprentissage progressif de VBA, je croyais pourtant avoir bien adapté le code en prenant en compte cette nouvelle colonne.
J'ai une "erreur d'execution '9' : l'indice n'appartient pas à la sélection"
Je pense qu'il s'agit d'un problème de sélection de la plage de cellule, ou des colonnes, ou de recopie.
Quand je fais le debugage, il me renvoie à la macro
Sub ChoisirUnJour()
UserForm1.Show
End Sub
J'ai beau cherché dedans, mais je n'ai pas trouvé
Si vous avez quelques instants, pourriez vous m'indiquer où se situe mon erreur (éventuellement de la corriger), afin que je la comprenne et que je puisse adapter mon travail à plus de logements sur un nombre plus important de jours.
Merci d'avance
Bonjour gmb,
Une nouvelle fois : MERCI BEAUCOUP pour ta réactivité et la réparation de mes erreurs dans l'adaptation de ton travail initial.
J'avance progressivement dans mon apprentissage de VBA.
J'avais globalement compris tes différentes lignes de code : je vais me pencher sur ce que tu as fait pour déceler mes erreurs et comprendre maintenant comment interpréter ces lignes pour adapter ce travail sur encore plus de logements et de dates....
SUPER !