XL 2016 Comparaison et copie de cellules

didcac

XLDnaute Occasionnel
Bonjour à tous,
J'ai un souci d'intégrité de données, dans une Base, et je voudrais pouvoir m'assurer de la bonne affectation.
Avant de vous exposer mon objectif final, j'ai juste besoin de la formule (toute simple mais que j'ai oubliée) consistant à comparer 2 cellules en écrivant dans une troisième cellule par exemple ERREUR si une donnée diffère.
Exemple :
A2 : 1234-AB
B2 : 1234-AZ
et comme B2 doit être strictement égale à A2
C2 : ERREUR
Je crois que c'est du style :
=SI(B2<>A2;"ERREUR",""), mais ça ne marche pas chez moi !!
Merci pour ce premier point.
 

didcac

XLDnaute Occasionnel
Bonjour Chris401,
Merci bien.
En fait, non, j'ai bien mis ; sur la feuille (ici la virgule est une erreur de frappe...).
En revanche, j'ai dû prendre une autre feuille de calcul, et là ma formule initiale a marché !!! Et en faisant copier-coller sur la première feuille, ça a aussi marché.
J'ai déjà rencontré ce phénomène : je crois que la (première) feuille a un "statut" particulier qui empêche Excel d'exécuter des fonctions, mais je ne me rappelle plus il faut agir pour enlever ce "statut" bizarre.
Tu n'as jamais eu le cas ?
 

didcac

XLDnaute Occasionnel
Même pas, non. Mystère.

Sinon, voici l'objet réel de ma demande :
J'ai besoin de récupérer des (sortes de) numéros de série (alphanumériques) contenus dans une feuille pour les coller dans une deuxième feuille si des critères conjoints sont réunis.
En clair, c'est le matricule d'une société, et la recherche d'attribution passe par un comparatif simultané de : Nom de Société + Nom d'Etablissement + Adresse.
Vu qu'il y en a des milliers, une Macro est à mon avis nécessaire, mais je ne sais hélas pas les écrire.
J'espère que vous, ou d'autres talents de ce Forum, y arriveront.

Je joins les feuilles exemples avec ici juste quelques données. Le fichier complet n'a pas de doublons "absolus", il arrive qu'il y ait des similitudes (mais qui disparaissent par l'utilisation multi-critère)
Mon idée serait :
En utilisant les deux fichiers EXC-SOC-1 et EXC-SIT-2, créer une Macro qui irait sur EXC-SIT-2 en demandant, à chaque ligne, s'il existe dans EXC-SOC-1 une fiche qui ait les mêmes :
"Nom Sté & Nom Etabl & Adresse rue" que la première fiche de départ (dans EXC-SIT-2). Et auquel cas, si c'est oui, il faudrait copier la cellule A de EXC-SOC-1 dans la cellule B de EXC-SIT-2.
Puis passer à la ligne suivante, et ainsi de suite. Normalement, toutes la colonne cible doit être remplie.
Si ce n'est pas clair, demandez-moi des précisions.

Merci par avance de votre aide.
 

Pièces jointes

  • EXC-SIT-2 copie.xlsx
    16.3 KB · Affichages: 1
  • EXC-SOC-1 copie.xlsx
    19.9 KB · Affichages: 1

didcac

XLDnaute Occasionnel
Bonjour,
J'ai oublié de préciser les rubriques à entrer directement dans la Macro (pour vous éviter de chercher vu que l'emplacement diffère d'un fichier à l'autre et parfois aussi "l'appellation") :
Nom Sté : Cellule BM (dans SOC) et Cellule P (dans SIT)
Nom Etabl : Cellule CM (dans SOC, qui s'appelle Type Site) et Cellule O (dans SIT)
Adresse : Cellule C (dans SOC, qui s'appelle Adresse rue) et Cellule D (dans SIT)

Merci.
Cordialement
 

didcac

XLDnaute Occasionnel
Rebonjour,
Personne ne m'ayant répondu, peut-être est-ce jugé complexe, alors que c'est finalement il me semble plutôt basique. Je dis ça mais je suis bien incompétent moi-même, hélas.

Je me permets donc de faire une sorte de résumé :
Le principe serait de comparer une première ligne du fichier SIT avec la 1ère ligne du fichier SOC, et si les 3 critères (Nom Sté, Nom Etabl et Adresse) sont strictement identiques, recopier dans une colonne actuellement vide (B de SIT) la même valeur présente au même endroit que dans le fichier SOC.
Et si la 1ère ligne ne réussit pas le Test, on passe à la 2ème (jusqu'à environ 10.000 maximum) sachant qu'il y en aura au moins 1 remplissant les critères.
Il faut en revanche programmer pour que la Macro s'arrête dès lors qu'elle remplit une case, et revienne à la ligne n+1 (pour générer à terme elle aussi ses propres 10.000 lignes). Elle refera alors l'opération à partir de sa 2ème ligne, en rebalayant (au besoin) les 10.000 lignes de SOC).
Il ne faudra pas que le programme puisse écraser une valeur précédemment copiée, sinon ce serait sans fin (donc que la Macro saute à la ligne suivante).
J'espère que cela vous aidera à mieux comprendre mon idée, et vous permettra d'avoir l'amabilité de m'apporter cette aide dont j'ai grandement besoin, car je galère pas mal, et c'est mon ultime souci avec ce fichier.
Merci de votre compréhension.
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 503
Membres
103 564
dernier inscrit
Paul 1