Macro Excel - Recherche variables puis copie

Fermé
Raph - Modifié par Raph le 1/07/2016 à 13:21
 Raphael - 20 juil. 2016 à 15:54
Bonjour,

J'ai besoin de votre aide pour créer une macro qui vérifiera des références d'une feuille (qui varient selon l'extract - il faut donc vérifier ligne par ligne) avec une autre feuille qui pourrait contenir ces références. Si c'est le cas, il faudrait les mettre en valeur, en les copiant sur une feuille à part ou en les mettant en rouge - peu importe tant qu'on les voit.
Il faut savoir que la seconde feuille peut contenir les références à l'intérieur de texte.

Je patauge totalement en VBA, et je n'arrive plus à avancer - mes notions sont très basiques et les nombreux forums ne m'ont pas bcp éclairci...

Merci de votre aide !
A voir également:

5 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
2 juil. 2016 à 19:29
Bonjour
Avec un extrait de votre fichier (sans données confidentielles), avec des commentaires et quelques exemples de ce que vous attendez, vous obtiendrez sûrement des réponses, mais pour l'instant, on ne peut pas faire grand chose.
Cdlt
0
Effectivement, ce sera plus parlant avec un exemple.
Nous effectuons une mise àjour de références une fois par an. J'en fais une extraction pour voir quelles sont les références supprimées. En effet, des contraintes basées sur des références peuvent servir pour la génération automatique d'un document, la suppression de certaines références peut donc poser problème pour la génération du document.
J'ai donc un extract qui est une liste de références supprimées dans la base de données :

01-25987-02
06-85452-85
...

Et je souhaite vérifier ligne par ligne (donc référence par référence), qu'elles ne sont pas présentes dans les conditions de la génération du document (restranscrites sur Excel):

EXISTS([Product]LIKE"09-89441-01")
EXISTS([Product]LIKE"05-48140-16") AND NOT EXISTS([Product]LIKE"06-85452-85")

Ici, il faudrait donc que la Ref 06-85452-85 soit surlignée ou copiée quelque part pour que je me rende compte qu'elle était présente dans une des conditions.

J'espère que c'est un petit peu plus clair... :-)

Merci de votre aide.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
4 juil. 2016 à 08:47
Bonjour
J'ai essayé de faire quelque chose avec le peu d'éléments fournis
https://www.cjoint.com/c/FGegRfWmnRw
En feuille 1, la liste des valeurs supprimées
En feuille 2
- la liste récupérée dans la colonne A
- colonne B, création d'une formule pour extraire les données supprimées
- colonne E, résultat de la recherche
Cdlt
0
Merci pour la recherche de solutions.
L'idée est là, mais les conditions peuvent parfois être très longues et ne continennent pas toujours les mêmes champs.

Voici un exemple:
http://www.cjoint.com/c/FGeg2sSRElR

J'ai tenté d'oublire la macro en passant par une RECHERCHEV simple sans macro, j'ai l'impression qu'Excel n'arrive pas à la faire correctement fonctionner. Peut-être est-il possible de passer par une (autre) formule simple ?
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
4 juil. 2016 à 09:02
Je dois m'absenter, je regarderai ça un peu plus tard.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 337
4 juil. 2016 à 20:12
Bonsoir
Si j'ai bien compris
https://www.cjoint.com/c/FGeshElS2fw
J'ai rajouté 3 lignes avec quelques références de la feuille2 placées n'importe où dans la ligne.
Toutes les lignes comportant au moins 1 élément de la feuille 2 se remplissent de rouge.
A tester, si ce n'est pas ça, mettez des exemples clairs avec le résultat souhaité.
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

J'ai résolu le souci avec la macro suivante :

Sub Check()
'
'

Worksheets("Propal").Select
Columns("I:I").Select
Selection.FormatConditions.Add Type:=xlTextString, String:="=Data!$A$6:$A$10000", _
TextOperator:=xlContains
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Font
.Color = -16383844
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 13551615
.TintAndShade = 0
End With

Range("A1").Select
ActiveWindow.Zoom = 60

End Sub



Je n'arrive plus à accéder à mon post originel, si un admin passe par là, il peut rajouter la balise [Résolu] ?

Merci
0