rechercher et modifier une cellule en fonction de valeur autre cellule

Y compris Power BI, Power Query et toute autre question en lien avec Excel
b
benjy555
Membre habitué
Membre habitué
Messages : 71
Inscrit le : 27 mars 2013
Version d'Excel : 365

Message par benjy555 » 20 avril 2018, 10:41

Bonjour

Désolé pour ce titre farfelu ! je ne trouve pas mieux.

Alors, imaginons un fichier avec 2 onglets.
    l'onglet 1 contient une base de donnée de type :
    Colis|Emplacement|Palette
      l'onglet 2 est une base vide qui vient s’incrémenter petit à petit lorsqu'on veut déplacer des colis qui étaient rangés à un endroit spécifique :
      Colis|Emplacement départ|Palette départ|Emplacement arrivée|Palette arrivée

      Le but est que des qu'on rentre sur l'onglet 2 un Colis avec son emplacement et palette de départ puis son emplacement et palette d'arrivée, une macro vienne chercher dans l'onglet 1 la ligne de la colonne "Colis" qui comporte ce fameux colis et aille une cellule à droite pour modifier le contenu du champs "emplacement" par l'information présente dans l'onglet 2 "emplacement arrivée" idem pour l'information "palette" (2 cellule à droite) à remplacer par l'information de l'onglet 2 "palette arrivée".
      On pourra parfois rentrer plusieurs colis d'un coup sur l'onglet 2 et il faudra que les remplacements se fassent pour toutes les nouvelles lignes (pas seulement le premier colis)

      Autre point : suivant la même logique,
      on va parfois changer de place une palette entière (et plus seulement un colis) donc dans un 3ieme onglet j'aurais une base qui est du type : Palette|Emplacement départ|Emplacement arrivée

      Dans ce cas la macro devra aller chercher dans l'onglet 1 la valeur dans la colonne "palette" (soit la 2ieme colonne) qui correspond à celle dans l'onglet 3 et modifier "emplacement" par la valeur présente dans l'onglet 3 "emplacement arrivée"
      Ici la différence c'est qu'il y aura 1 ou plusieurs ligne dans l'onglet un qui ont la même valeur pour "palette" . Or par ex une recherchev va juste trouver la première et faire la modif alors que la il faut trouver la première puis toutes les suivantes qui sont identique et changer la valeur de la cellule de droite. (il faut donc un système de loop je crois ?)


      important : il faut que cette recherche se fasse à la suite d'une macro que j'ai déjà a peu prés mise au point donc cela ne doit pas se déclencher à n'importe quel moment. et à la fin de la macro les valeurs de l'onglet 2 et 3 sont effacées donc toutes les modifications sur l'onglet 1 doivent être figées.


      Merci beaucoup pour votre aide
      macro.xlsx
      (13.56 Kio) Téléchargé 14 fois
      Avatar du membre
      paritec
      Passionné d'Excel
      Passionné d'Excel
      Messages : 4'273
      Appréciations reçues : 490
      Inscrit le : 7 juin 2011
      Version d'Excel : W10 - 2003 FR - 2010 FR

      Message par paritec » 23 avril 2018, 07:19

      Bonjour Benjy555 le forum
      Tu déplaces tes colis de quelle manière?? en écrivant la ref manuellement dans la cellule de la feuille 2 ???
      la macro qui doit se dérouler avant les modifs elle est ou ???? tu as joins un fichier xlsx donc par définition sans macro !!!
      a te relire
      a+
      Papou :)
      Des bonnes explications et des petits fichiers représentatifs vont nous aider à vous aider !!!!
      b
      benjy555
      Membre habitué
      Membre habitué
      Messages : 71
      Inscrit le : 27 mars 2013
      Version d'Excel : 365

      Message par benjy555 » 23 avril 2018, 09:56

      bonjour

      oui le "déplacement" se fait grâce à l'onglet 2 ou il y a une toute petite macro très basique sous forme de boite de dialogue qui demande :
      1/ entrer le colis 2/entrer emplacement départ 3/palette départ 4/emplacement arrivée 5/ palette arrivée.
      j'utilise une douchette pour lire un code bar Ean13 ce qui rentre directement les 13 chiffres nécessaires à identifier colis/emplacement/palette.

      On pourrait même concidérer que je rentre tout cela manuellement ça ne change pas grand chose (rien en fait) pour la suite.

      Donc il n'y a pas vraiment de macro évoluée jusque là. le gros du dossier reste finalement la question que je pose au forum et la je sèche.

      merci

      voici le code mais bon...

      colis = inputbox(" Quel est le colis à déplacer ? ", "Déplacement de Colis")
      ActiveCell.Value = colis
      ActiveCell.Next.Select

      Emplacement_Départ = inputbox(" Quel est l'emplacement de départ ? ", "Déplacement de Colis")
      ActiveCell.Value = Emplacement_Départ
      ActiveCell.Next.Select

      Palette_Départ = inputbox(" Quel est la palette de départ ? ", " Déplacement de Colis")
      ActiveCell.Value = Palette_Départ
      ActiveCell.Next.Select

      Emplacement_Arrivée = inputbox(" Quel est l'emplacement d'arrivée ? ", "Déplacement de Colis")
      ActiveCell.Value = Emplacement_Arrivée
      ActiveCell.Next.Select

      Palette_Arrivée = inputbox(" Quel est la palette d'arrivée ? ", "Déplacement de Colis")
      ActiveCell.Value = Palette_Arrivée
      b
      benjy555
      Membre habitué
      Membre habitué
      Messages : 71
      Inscrit le : 27 mars 2013
      Version d'Excel : 365

      Message par benjy555 » 23 avril 2018, 10:30

      pour information et partage voici une réponse obtenu dans u
      macro_v1.xlsm
      (22.28 Kio) Téléchargé 29 fois
      n autre forum
      Répondre Sujet précédentSujet suivant
      • Sujets similaires
        Réponses
        Vues
        Dernier message