XL 2016 Comparer-soustraire-copier-supprimer

BPM

XLDnaute Nouveau
Bonjour, je sollicite votre aide en ce jour pour écrire un programme.
Je dispose de 2 feuilles une dépôt et une ajout, j'aimerais tout d'abord que le code commence par faire une comparaison des valeurs des colonnes B et F de chaque feuille et que si les valeurs des lignes en ajout et dépôt sont identiques, qu'il puisse comparer les valeurs quantité dans la colonne D de ces lignes identiques en B et F. Et si les quantités sont différentes par exemple si dans la feuille de dépôt la valeur quantité est supérieure à celle de la feuille ajout alors que le code puisse soustraire la valeur quantité dépôt-la valeur quantité ajout par la suite marquer le résultat de l'opération dans la feuille de dépôt puis effacer cette ligne de la feuille ajout. Et le truc en plus c'est que le programme doit réussir à faire ça dans les deux sens où si la valeur dans la feuille ajout est plus grande que celle dans la feuille dépôt faire la soustraction, garder le résultat de l'opération sur la ligne et supprimer la ligne qui correspond dans la feuille dépôt.
Sachant que mes tableaux peuvent contenir plus de 100lignes et que les informations ne sont pas spécialement en ordre. Je joins un fichier excel avec le résultat souhaité et un bout de code que j'ai commencé pour la comparaison mais il ne fonctionne pas.

Je suis vraiment perdue pour ce problème votre aide serait précieuse, j'espère que mes explications sont assez claires
 

Pièces jointes

  • Exemple.xlsm
    19 KB · Affichages: 13
Solution
Bonjour
Voici deux versions. L'une en utilisant des tableaux structurés, celle que je préfère.
L'autre sans qui à mon avis est moins fonctionnelle et plus sujette à erreurs.
J'espère que vous trouverez votre bonheur.
Bonne journée.

yal

XLDnaute Occasionnel
Bonjour, je sollicite votre aide en ce jour pour écrire un programme.
Je dispose de 2 feuilles une dépôt et une ajout, j'aimerais tout d'abord que le code commence par faire une comparaison des valeurs des colonnes B et F de chaque feuille et que si les valeurs des lignes en ajout et dépôt sont identiques, qu'il puisse comparer les valeurs quantité dans la colonne D de ces lignes identiques en B et F. Et si les quantités sont différentes par exemple si dans la feuille de dépôt la valeur quantité est supérieure à celle de la feuille ajout alors que le code puisse soustraire la valeur quantité dépôt-la valeur quantité ajout par la suite marquer le résultat de l'opération dans la feuille de dépôt puis effacer cette ligne de la feuille ajout. Et le truc en plus c'est que le programme doit réussir à faire ça dans les deux sens où si la valeur dans la feuille ajout est plus grande que celle dans la feuille dépôt faire la soustraction, garder le résultat de l'opération sur la ligne et supprimer la ligne qui correspond dans la feuille dépôt.
Sachant que mes tableaux peuvent contenir plus de 100lignes et que les informations ne sont pas spécialement en ordre. Je joins un fichier excel avec le résultat souhaité et un bout de code que j'ai commencé pour la comparaison mais il ne fonctionne pas.

Je suis vraiment perdue pour ce problème votre aide serait précieuse, j'espère que mes explications sont assez claires
Bonsoir
Une proposition. Le code code se trouve dans le module : Mod_CompareTableaux
 

Pièces jointes

  • Exemple BPM v3.xlsm
    33.1 KB · Affichages: 4

BPM

XLDnaute Nouveau
Bonsoir
Une proposition. Le code code se trouve dans le module : Mod_CompareTableaux
Bonjour, je vous remercie d'avoir prie le temps de répondre et je m'excuse de ne répondre que maintenant je n'étais plus sur mon lieu de travail.
je viens d'essayer le code et je rencontre un problème sur la cette ligne ça me signale une erreur : tbA = Range("tb_ajout").Value2

et je voulais préciser que dans mon vrai fichier excel les lignes ne sont pas surlignés donc il n'y a pas de couleur et dans le fichier exemple je les ai mis c'était juste pour mieux expliquer ce que je voulais et il n'y a pas de tableau résultat souhaité dans mon vrai fichier
 

BPM

XLDnaute Nouveau
En essayant de comprendre pourquoi j'ai l'erreur, je me rends compte que c'est peut-être parce que vous avez ajouté des pages, sauf que dans mon document originale je n'ai pas la possibilité d'en rajouter, je dois uniquement travailler sur les deux feuilles. Je renvoie un document exemple qui est identique à l'originale ça serait peut-être plus simple. Merci encore pour votre aide et votre temps.
 

Pièces jointes

  • Exemple BPM classeur - Copie.xlsm
    17.5 KB · Affichages: 1

yal

XLDnaute Occasionnel
Bonjour
Voici deux versions. L'une en utilisant des tableaux structurés, celle que je préfère.
L'autre sans qui à mon avis est moins fonctionnelle et plus sujette à erreurs.
J'espère que vous trouverez votre bonheur.
Bonne journée.
 

Pièces jointes

  • Exemple BPM classeur - Copie compareTableauxAvecListObject.xlsm
    20.4 KB · Affichages: 5
  • Exemple BPM classeur - Copie compareTableauxSansListObject.xlsm
    17.8 KB · Affichages: 5

BPM

XLDnaute Nouveau
Bonjour
Voici deux versions. L'une en utilisant des tableaux structurés, celle que je préfère.
L'autre sans qui à mon avis est moins fonctionnelle et plus sujette à erreurs.
J'espère que vous trouverez votre bonheur.
Bonne journée.
Merci encore pour votre aide précieuse et les deux solutions, ça m'a permis de bien choisir et d'adapter plus facilement dans mon classeur original; ça marche très bien. Excellent week-end à vous.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo