Microsoft 365 [VBA] Copier/coller en fonction de 2 mot-clés

VegetaRIEN

XLDnaute Nouveau
Bonjour,

Dans l'onglet magasin j'ai 2 tableaux.
Le tableau de gauche sert a commander des pièces pour le magasin et le tableau de droite sont des actions à faire mais qui attendent qu'une pièce soit reçu pour pouvoir être effectué par un technicien.

Mon objectif est que quand le magasinier marque le mot "Reçu" dans le tableau de gauche celui-ci se colle si il y a le même code SAP dans le tableau de gauche et de droite.

Etant débutant dans le code VBA j'ai essayé mais le mot reçu ne se colle pas au bon endroit.

Vous pouvez trouvé le code dans le module n°2 dans le sub comparer_valeur_tableau

Merci d'avance

VegetaRIEN
 

Pièces jointes

  • Quotidienne version Jordan.xlsm
    378.8 KB · Affichages: 9
Solution
L'erreur est réparé.
En fait il disait qu'il trouvait pas le code sap dans le tableau de droite.
Vu comment tu utilises les tableaux, tu ne pourra effectivement pas utiliser de formule.
Dis moi si ça te vas.
A +

Wayki

XLDnaute Impliqué
Salut,
Voilà pour toi, module 7 (J'ai pas tout compris dans ton module 2, trop long pour moi 😆)
Tu peux mettre ce code dans Private Sub Worksheet_Change(ByVal Target As Range) de ta feuille 6 pour qu'il s'exécute à chaque changement de valeur.
A +
 

Pièces jointes

  • Quotidienne version Jordan.xlsm
    377.8 KB · Affichages: 5

VegetaRIEN

XLDnaute Nouveau
Salut,
Voilà pour toi, module 7 (J'ai pas tout compris dans ton module 2, trop long pour moi 😆)
Tu peux mettre ce code dans Private Sub Worksheet_Change(ByVal Target As Range) de ta feuille 6 pour qu'il s'exécute à chaque changement de valeur.
A +
Bonjour,

Deja merci beaucoup pour cette aide mais le problème c'est que après avoir essayer plusieurs fois j'ai des beug car si le code SAP n'est pas à la même ligne dans le tableau de droite et de gauche j'ai le code erreur d'execution 91

Pour expliquer la situation :

Sur le tableau de gauche les techniciens peuvent rajouter des commandes de pièces pour refaire du stock.

Cela aura pour conséquence que sur le tableau de gauche à la ligne 13 par exemple on a le code SAP "ZPM004" et sur le tableau de droite ce code soit à la ligne 5.

Je ne sais pas si c'est clair ?

VegetaRIEN
 

Wayki

XLDnaute Impliqué
C'est pas hyper clair non 😅
Y a pas de question de c'est sur la même ligne ou pas avec mon code, c'est basé sur du recherche décaler.
J'ai essayé de bouger les lignes du tableau gauche j'obtiens toujours le même résultat sur le tableau de droite 👌
J'ai étendu la plage d'action à la ligne 1000 si ça peut solutionner (toujours module 7, macro "copier")
J'ai aussi simplifié le code si ça peut t'aller, il te met dans le 2eme tableau le statut de la commande (et pas seulement reçu ou vide)
A +
 

Pièces jointes

  • Quotidienne version Jordan.xlsm
    375.7 KB · Affichages: 6

VegetaRIEN

XLDnaute Nouveau
Bonjour
Oui je vois que cela n'était pas assez clair ^^
Le problème avec le copier décaller c'est que il faut avoir le même code SAP à la même ligne.

Alors que le tableau de gauche sont toutes les pièces que doit commander le magasiner donc des pièces pour du stock, du préventif, curratif ect
Et celui de droite les actions currative où il y a besoin de commander des pièces.

Pour que cela soit plus clair j'ai fait fait un exemple.

L'objectif est de copier coller les valeurs (de manière automatique) se trouvant dans la colonne "I" pour les envoyer dans la colonne "AB" quand une valeur de la colonne "C" (en jaune) est égale à une valeur de la colonne "W" (en bleu).

J'espère avoir pu t'éclairer ^^

Merci d'avance.

VegetaRIEN
 

Pièces jointes

  • exemple-v1 (1).xlsm
    27.6 KB · Affichages: 3

Wayki

XLDnaute Impliqué
Je suis désolé d'insister, mais ce que tu demandes mes fichiers le font 😂
Seulement tu n'as pas pris la peine d'ouvrir mon fichier...
1628615595805.png

Par contre effectivement si ton fichier exemple ne correspond pas avec ton premier fichier ça marchera pas... (nombre de colonne etc)
Moi j'ai travaillé sur ta feuille "magasin" de ton premier fichier comme tu as demandé.
Donc pour ce fichier, ça marche, regarde :
2021-08-10 at 19-24-49.png

2021-08-10 at 19-25-31.png
2021-08-10 at 19-25-54.png

Le index equiv du 2eme fichier fait aussi ce que tu demandes...
Je t'ai mis ma macro dans ta feuille magasin, il exécute automatiquement maintenant.
Dis moi si ta bécane rame un peu, je travaillerai sur une modif pour déclencher la macro au moment voulu ;)
A +
 

VegetaRIEN

XLDnaute Nouveau
Bonjour @Wayki

Désolé pour ce retour tardif mais j'ai fait d'autres projets entre temps et j'essayais par moi même de résoudre le problème de code avant d'encore vous déranger.
Vos formules fonctionnent parfaitement mais le problème étant qu'une fois que la pièce est reçu je fais un copier coller vers une 2 autres feuilles et je supprime ensuite la ligne cela fonctionne parfaitement. Mais la suppression des lignes entrainent un problème de #ref dans les autres formules.
J'ai donc essayer de reprendre votre code mais comme le fichier à évoluer et il y a eu des créations et des changements de colonne ect. En faisant des modifs j'ai l'erreur 91.

Si vous avez encore le temps de bien vouloir vous penchez sur mon problème :)

Je vous joins le fichier avec la forme fini.

Merci encore d'avance
 

Pièces jointes

  • exemple-v1 (1).xlsm
    503.4 KB · Affichages: 4

Wayki

XLDnaute Impliqué
Salut,
Une formule quand elle est écrite avec des cellules, fait forcément référence à la cellule en question.
Si elle est supprimée, la formule est caduque.
Essaye en faisant copier et coller les valeurs. (clic droit, bouton calepin 123)
 

VegetaRIEN

XLDnaute Nouveau
Le problème c'est que je veux que ce soit automatique pour que le magasinier est que un bouton à cliquer donc la formule me permet d'avoir le résultat du tableau de gauche ensuite quand j'ai le mot reçu je copie colle sur 2 autres feuilles et ensuite je supprime la ligne quand il y a le mot clé reçu.
Tout cela fonctionne parfaitement sauf si par exemple la première ligne a le mot reçu elle se copie colle et se supprime mais les ensuite les lignes d'après la formule est caduque.
C'est pour cela que j'ai chercher à utiliser ton code au lieu de ta formule mais je dois avoir fais une erreur dans la modification du programme car il met met erreur 91.
 

Wayki

XLDnaute Impliqué
L'erreur est réparé.
En fait il disait qu'il trouvait pas le code sap dans le tableau de droite.
Vu comment tu utilises les tableaux, tu ne pourra effectivement pas utiliser de formule.
Dis moi si ça te vas.
A +
 

Pièces jointes

  • exemple-v1 (1).xlsm
    502.5 KB · Affichages: 4

Discussions similaires