Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche particulière

munity

XLDnaute Junior
salut le phorum

je cherche désespéremment un code me permettant de controler la présence ou non de plusieurs valeurs (10 maxi) dans une liste mis à jour quotidiennement
le problème c que je souhaite passé par du vba et je ne parviens pas à créer la boucle
recherche valeur 1 = si trouve alors passe à la suivante valeur 2
recherche valeur 2= si ne trouve pas alors met en rouge la valeur manquante puis valeur 3
recherche valeur 3 = etc, etc...
le problème que la liste des valeurs est en ligne et que je parviens pas à boucler sur la ligne
voici mon laborieux code (pièce jointe) qui boucle sans fin et qui en plus ne donne absolument pas ce que je souhaite

si une âme charitable voulait bien se pencher sur mon "oeuvre"

merci d'avance

munity
 

Pièces jointes

  • test.zip
    19.7 KB · Affichages: 46
  • test.zip
    19.7 KB · Affichages: 42
  • test.zip
    19.7 KB · Affichages: 44

munity

XLDnaute Junior
Re : Recherche particulière

salut le phorum

pour faire suite à ma demande d'hier,
j'avais pensé le faire par un tableau temporaire (style ubound)
mais la aussi je sèche sur la méthode
y a t il une solution plus simple sans passer par une usine à gaz

merci d'avance

munity
 

munity

XLDnaute Junior
Re : Recherche particulière

salut à tous
en cherchant sur la phorum
j'ai fini par trouvé la soluce
merci à Flyonets
par contre si quelqu'un pouvait m'expliquer le fonctionnement de cette procèdure je suis preneur

Sub Comparplage()
'Comparaison de 2 feuilles distinctes
Application.ScreenUpdating = False
Sheets("Fichier Traité").Range("p1:y1").Interior.ColorIndex = xlNone
Dim Cherch As Range, Cel As Range
Dim Plg As Range, MaPlage As Range
Dim C As Integer, Macell
Set Plg = Sheets("Fichier Traité").Range("p1:y1")
If Plg Is Nothing Then Exit Sub
Set Cherch = Sheets("Base Article").Range("A1:k65536")
If Cherch Is Nothing Then Exit Sub
For Each Cel In Plg
Set Macell = Cherch.Find(Cel, , , xlWhole, , xlNext)
If Macell Is Nothing Then
If C = 0 Then
Set MaPlage = Cel
C = C + 1
Else
Set MaPlage = Union(MaPlage, Cel)
End If
End If
Next
If MaPlage Is Nothing Then
Else
MaPlage.Interior.ColorIndex = 3
End If
Set Plg = Nothing: Set Macell = Nothing
Set Cherch = Nothing: Set MaPlage = Nothing
End Sub

merci

munity
 

Discussions similaires

Réponses
7
Affichages
610
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…