VBA retour de valeur selon multi critères

mamined

XLDnaute Nouveau
Hello Le forum,
je suis sur un casse tête que j'essaie d'expliquer ici et pour lequel j'aurais besoin de vos connaissances et votre aide:)

Voici le job que je souhaite automatiser.

Mécanisme à automatiser:
Dans l'onglet Prod nous avons un état actuel des numéros de tournées existantes en colonne "A". Le nombre de ligne est susceptible de varier d'une fois à une autre.
Dès la colonne "C", puis les suivantes nous avons des valeurs qui elles peuvent également varier d'une part mais également être plus ou moins nombreuses d'une fois à une autre.

Dans l'onglet New nous avons un état actuel des numéros de tournées nouvelles en colonne "A". Le nombre de ligne est susceptible de varier d'une fois à une autre.
Dès la colonne "C", puis les suivantes nous avons des valeurs qui elles peuvent également varier d'une part mais également être plus ou moins nombreuses d'une fois à une autre.

But de l'automatisation:
1 Faire un Match entre les données de l'onglet "Prod" qui est l'état présent et de l'onglet "New" qui sera le nouvel état
2 dans l'onglet "Adaptations" retourner les valeurs suivantes en fonction des conditions :

Si une des valeur présente en colonne "A" de l'onglet "Prod" n'est plus présente dans l'onglet "New" alors retourner cette valeur dans l'onglet "Adaptations" en colonne "A" dès la cellule "A1", puis en "A2" et ainsi de suite pour toutes les valeurs manquantes.

Si une des valeur présente en colonne "A" de l'onglet "New" n'est pas présente dans l'onglet "Prod" en colonne "A" alors retourner cette valeur dans l'onglet "Adaptations" en colonne "B" dès la cellule "B1", puis en "B2" et ainsi de suite pour toutes les valeurs manquantes.
Retourner également les valeurs présentent dans l'onglet "New" dès la colonne "C" et ultérieure


Si une des valeur présente en colonne "A" de l'onglet "New" est également présente dans l'onglet "Prod", mais que les valeurs qui se trouvent dès la colonne "C" ou ultérieure de l'onglet "New" pour cette tournée sont différentes de cette de l'onglet "Prod" alors retourner cette valeur dans l'onglet "Adaptations" en colonne "C" dès la cellule "C1", puis en "C2" et ainsi de suite pour toutes les valeurs manquantes.
Retourner également les valeurs présentent dans l'onglet "New" dès la colonne "C" et ultérieure

J'ai fais un exemple sous l'onglet adaptation pour chaque cas.
Pour le retour des valeurs en colonnes "A;B ou C" sous "Adaptations", il faut chaque fois aller à la ligne du dessous. Ainsi si une valeur est présente en A1 et que la suivante vient en colonne "B" elle viendra en "B2" et ainsi de suite.

Dadou
 

Pièces jointes

  • Gabarit_modifications.xlsm
    25.6 KB · Affichages: 10

mamined

XLDnaute Nouveau
Bonjour.
J'ai provisoirement présenté le résultat un tout petit peu différemment.
Voyez si ça vous convient quand même, voire mieux.

Bonjour Dranreb,

merci pour le good job. Je trouve la solution intéressante. Surtout le fait de mettre en colonne 2 la valeur de si c'est une modifiée ou non.

La seule chose que je modifierais c'est de ne pas retourner les tournées à double. A savoir que l'ancienne ne nous intéresse plus.

Exemple actuelle du fichier modifié par vos soins:

10 Ancienne modifiée Base 254000 254300
10 Modifications Base 254000
112 Ancienne modifiée Domizil 260500 260600 260700 260800 261200
112 Modifications Domizil 260500 260600 260700 345677 261200
118 Supprimée Base 250200 250400
13 Supprimée Base 254000
333 Ancienne modifiée Base 250400 252000
333 Modifications Base 252000 252500
701 Nouvelle Base 250200 250300 250400 254000

Et résultat attendu en gardant votre mécanisme que je trouve mieux que ce que j'avais indiqué:
colone 1: valeur de la tournée (10, 111, etc...)
Colonne 2 : ce qui est fait (valeurs possibles ==> Supprimée; Modifiée; Nouvelle)
Colonne 3: pas nécessaire
Colonne 4: valeurs des NPA présents dans l'onglet New dès la colonne "C" pour (Modiffée ou nouvelle et vide si valeur colonne 2 = Supprimée)

Ce serait super :)
 

mamined

XLDnaute Nouveau
Hello Dranreb,

merci pour la prompte solution. C'est exactement cela. Ou plus précisément ce qu j'avais besoin mais en mieux :)
J'ai regardé ce que tu as défini et cela m'aurais été impossible avec mes connaissances de sortir un tel job.

Vraiment top
Encore merci
 

Discussions similaires

Réponses
16
Affichages
564

Statistiques des forums

Discussions
314 486
Messages
2 110 107
Membres
110 666
dernier inscrit
Yaya123