Recherche valeurs ds classeur par rapport à plage variable

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

Je bute sur une macro type recherche. Je vais essayer d'expliquer clairement ce que je veux ci-dessous.

J'aimerais qu'à l'ouverture du fichier, la macro recherche dans l'ensemble du classeur les valeurs contenues dans la colonne E en feuille 1.
(La recherche du classeur exclurait la feuille 1)

Si lors de la recherche, au moins une de chaque valeur de la colonne E est présente dans le classeur (moins la feuille 1) rien ne se passe.
Si une ou plusieurs des valeurs de la colonne E est absente du classeur, un msgbox indiquerait les valeurs : valeurs1, valeurs 2 sont absentes du classeur

Merci à tous ceux qui pourront m'indiquer une piste
Philippe
 

antiphot

XLDnaute Occasionnel
Re : Recherche valeurs ds classeur par rapport à plage variable

Bonjour pierrejean

Nickel comme tjrs. Un grand merci
Je vais voir de mon côté pour n'avoir qu'un msgbox ds le cas ou il y a plusieurs valeurs.
Il me semble avoir qq chose en ce sens ds mes archives

Amicalement
philippe
 

antiphot

XLDnaute Occasionnel
Re : Recherche valeurs ds classeur par rapport à plage variable

Bonjour Pierre

Merci pour cette version. J'ai juste un peu modifié la fin de façon à ce que le MsgBox n'apparaissent que si il manque des valeurs dans le classeur.
Par contre je viens de me rendre compte que dans certain cas, les valeurs dans le classeur peuvent être suivies d'un espace et d'une lettre. J'aimerais qu'elles soient qd même prises en compte; cad que par exemple en feuille 1 la valeur "100" soit égale à la valeur "100 a" ds le classeur. est-ce possible ?


Sub recherche()
tablo = Sheets("Feuil1").Range("E1:E" & Sheets("Feuil1").Range("E65536").End(xlUp).Row)
For n = 1 To Sheets.Count
If Sheets(n).Name <> "Feuil1" Then
For m = LBound(tablo) To UBound(tablo)
Set c = Sheets(n).Cells.Find(tablo(m, 1), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
tablo(m, 1) = "trouvé"
End If
Next m
End If
Next n
For n = LBound(tablo) To UBound(tablo)
If tablo(n, 1) <> "trouvé" Then
absents = absents & tablo(n, 1) & Chr(10)

End If
Next n
If absents <> 0 Then
MsgBox (absents & " absent(s) de ce classeur")
End If
End Sub
 

antiphot

XLDnaute Occasionnel
Re : Recherche valeurs ds classeur par rapport à plage variable

Malheureusement je pense que cela ne va pas aller. Car du coup 100 et 1000 sont considérés comme identiques.
Je me demandais si il n'était pas possible de rajouter un fonction d'extraction de la valeur numérique ds la cellule ?

Philippe
 

antiphot

XLDnaute Occasionnel
Re : Recherche valeurs ds classeur par rapport à plage variable

Heu je reviens sur la pointe des pieds car je viens de me rendre compte d'un petit pb !
J'ai un peu honte de te solliciter comme cela car je pense que tu vas te dire que je ne sais pas ce que je veux !

Bon en fait le plus simple est de t'expliquer les conditions réelles de la macro (ce que j'aurais du faire dès le début)

les valeurs en feuille1 (ex: 100) sont des noms de fichiers que je récupère et qui correspondent à des demandes à traiter.
Ces demandes sont ensuites déclinées dans un planning, (ce qui correspond au reste du classeur). Les demandes sont déclinées en sous-tâches (ex: 100 a, 100 b, 100 c, ...) sachant que le nombre de sous-tâches maximum est de 7. Donc 100 g

Le but de la macro est tout simplement (si je peux dire) de vérifier à l'ouverture du classeur que toutes les demandes reçues (feuil1) ont été plannifiées sans tenir compte des sous-tâches. Ce que fait ta macro.

La ou cela se complique c'est que j'ai d'autres données dans mon planning qui n'ont rien à voir avec ces numéros de demandes. Par exemple des volumes ou quantités

Dès lors j'aurais mon numéro 100 a et un volume 100 L. La macro ne saura pas faire la différence.

C'est un peu à se taper la tête contre les murs je l'avoue. En fait la seule chose sur laquelle on peut tabler, c'est qu'il faut extraire la valeur numérique d'une donnée qui peut être suivie de 7 lettres différentes. A savoir a - b - c - d - e - f - g et de ne pas extraire la valeur numérique de la cellule si il s'agit d'une autre lettre ou d'un groupe de lettres.

Bon arrivé à ce point de mon laïus, je me demande si je suis clair, je pense que je vais joindre à tout cela une pièce jointe avec un exemplaire de ce planning en enlevant les données confidentielles.

Je suis encore désolé de te solliciter après coup.

Philippe
 

Pièces jointes

  • antiphot.zip
    12.5 KB · Affichages: 19
  • antiphot.zip
    12.5 KB · Affichages: 16
  • antiphot.zip
    12.5 KB · Affichages: 19

pierrejean

XLDnaute Barbatruc
Re : Recherche valeurs ds classeur par rapport à plage variable

Re

Pas de probleme

Voila la version qui n'accepte que le chiffre en feuille 1 assorti de " A" ou ... jusqu'a " G"
par contre ça risque d'etre au detriment du temps de traitement

ps: j'ai supprimé les codes des versions precedentes
 

Pièces jointes

  • antiphot1.zip
    11.6 KB · Affichages: 30

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 324
Membres
102 862
dernier inscrit
Emma35400