reperer valeur identique et mettre en couleur

olivierlecaribou

XLDnaute Nouveau
Bonjour a tous,

Je m'arrache les cheveux sur un probleme somme toute assez simple il me semble. Seulement ca fait des heures que j'essaie sans le resultat voulu.

dans range ('F9:k48') et range ('Q9:V38'), je souhaite reperer les cellules identiques a celles reprises dans le
range ('Q41 :V48') et les mettre en fond rouge ensuite donner le nom de vainqeur, celui qui remplira en premier sa ligne .
Voir le fichier ci joint

MERCIIIIII [file name=pers2.zip size=9552]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pers2.zip[/file]
 

Pièces jointes

  • pers2.zip
    9.3 KB · Affichages: 46

ChTi160

XLDnaute Barbatruc
Salut Olivier
bon jour le Forum

je pense que tu peux via une collecton des elements (des colonnes \\'Q41 :V48\\'une par une)comparer une par une aux colonnes
(\\'F9:k48\\') et (\\'Q9:V38\\') en gérant l'erreur rencontre si doublon tu devrais y arriver
je n'ai pas le temp maintenant je pars au boulot mais cette après midi si rien n'a bougé

tu crées une collection des elements de Q41 a Q48 ce sera sans doublon et en suite tu entre dans cette collection les elements de F9 F49 par exemple il y aura erreur si doublon donc tu localise la cellule identique
bonne Journée

Attention a tes Cheveux Lol

Message édité par: Chti160, à: 12/11/2005 14:56
 

ChTi160

XLDnaute Barbatruc
SALUT olivier

Comme promis une interprétation de ce que j'ai cru comprendre

je suis passé par des tableaux tu regardes et tu nous tiens au courant
j'ai mis quelques commentaires

bonne fin de Journée [file name=pers2V1.zip size=13261]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pers2V1.zip[/file]
 

Pièces jointes

  • pers2V1.zip
    13 KB · Affichages: 58

olivierlecaribou

XLDnaute Nouveau
bon tout dabord merci a toi Chti,

J'ai regardé ta macro dont je ne connais pas grand chose, je reconnais quelque commande, mais vu mon niveau en VBA, ca se comprends :)
J'ai renvoyé le fichier, auquel j'ai rajouté des chiffres dans le tableau resultat. En essayant ta macro je me suis rendu compte qu'elle ne prennait pas en charge tout les doublons existant, je veux simplement reperer les chiffres identiques aux resultats datés en (Q41:v48) , c est une sorte de loto, qui determine le gagnant a la fin mais qui nous permet de voir l'evolution des tirages dans la grille des participants grace a une couleur de fond.

Merci !!!
 

olivierlecaribou

XLDnaute Nouveau
en gros je pourrais aussi mettre les resultats en couleur et juste les copier dans les cellules identiques des deux tableaux de participants, sous cette forme ci, mais je ne sais le faire que cellule par cellule.

Range('q41').Copy

If Range('f9').Value = Range('q41').Value Then
Range('F9').PasteSpecial

Je me doute qu'il existe des manieres plus simples et plus rapides ! non ?
 

ChTi160

XLDnaute Barbatruc
re Olivier

ton fichier ne comporte rien

je t'ai envoié un exemple adapté au fichier joint donc il y a surement des adaptations à faire si tu veux ajouter des lignes etc
moi je n'ai pris en compte que 8 lignes pour la plage résultats
donc joins ton fichier et je l'adapterai

bonne Soirée
 

ChTi160

XLDnaute Barbatruc
re
j'ai modifié mon fichier pour que la derniere ligne des plages noms soit déterminée automatiquement

j'ai fais en sorte que les plages soient mises en blanc avant nouveau lancement de la recherche et coloration

tiens moi au courant

bonne Soirée [file name=pers2V2.zip size=14864]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pers2V2.zip[/file]
 

Pièces jointes

  • pers2V2.zip
    14.5 KB · Affichages: 47

olivierlecaribou

XLDnaute Nouveau
encore merci Chti,

J'ai essayé la macro seulement elle ne trouve pas tous les numeros du tirage dans les tableaux, j'ai fouillé un peu et ma mediocrité Vbastique ne me permet pas de repondre a cette question
De plus les chiffre comme au loto sont de 1 a 49.
Ubound c est quoi ca ?

MErci
 

ChTi160

XLDnaute Barbatruc
Salut Olivier

je ne suis pas joueur Lol

y a pas d'ordre au loto donc j'ai modifié la Macro pour que les numero soient recherchés sur toute la ligne Lol

pour ce qui est de Ubound(Tablo,1) cela renvoie la plus haute valeur des lignes du tableau (le nombre de lignes)
Ubound(Tablo,2) cela renvoie la plus haute valeur des colonnes du tableau (le nombre de Colonnes)

pour avoir des infos sur le vocabulaire de VBA tu cliques sur le Mot et tu fais F1 tu accèdes a l'aide très utile
exemple

UBound, fonction


Renvoie une valeur de type Long contenant le plus grand indice disponible pour la dimension indiquée d'un tableau.

Syntaxe

UBound(arrayname[, dimension])

La syntaxe de la fonction UBound comprend les éléments suivants :

Élément Description
arrayname Nom de la variable de tableau. Respecte les conventions standard d'affectation de noms aux variables.
dimension Facultatif. Donnée de type Variant (Long). Nombre entier définissant la dimension dont la limite supérieure est renvoyée. Utilisez 1 pour la première dimension, 2 pour la deuxième, etc. Si l'argument dimension est omis, la valeur supposée est 1.



Remarques

La fonction UBound est utilisée avec la fonction LBound pour déterminer la taille d'un tableau. Utilisez la fonction LBound pour connaître la limite inférieure d'une dimension de tableau.

La fonction UBound renvoie les valeurs ci-dessous pour un tableau dont les dimensions sont les suivantes :

Dim A(1 To 100, 0 To 3, -3 To 4)

Instruction Valeur renvoyée
UBound(A, 1) 100
UBound(A, 2) 3
UBound(A, 3) 4


en pièce jointe le fichier modifié

n'hésite pas
bon Dimanche
[file name=pers2V4.zip size=15218]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/pers2V4.zip[/file]
 

Pièces jointes

  • pers2V4.zip
    14.9 KB · Affichages: 67

olivierlecaribou

XLDnaute Nouveau
salut Jean MArie.

J'ai encore un petit probleme, je voudrais reconnaitre le gagnant de la liste , celui qui aura ces 6 cellules en jaune avant tout le monde.
J'ai cherhcé sur le site des macros qui pourrait m'aider et essayer d'en modifier.
J'arrive a compter les cellules jaunes, mais le problemes c est qu'il ne se reset pas a chaque ligne , ou est mon erreur ?


Sub couleurs()
Dim cell As Range
Range('A1').Select
For i = 9 To 48
Range(Cells(i, 6), Cells(i, 11)).CurrentRegion.Select
Set MaZone = Range(Cells(i, 6), Cells(i, 11))

For Each cell In MaZone

If cell.Interior.ColorIndex = 6 Then compteJ = compteJ + 1

Next cell

Cells(i, 24).Select
ActiveCell = compteJ
Next i

End Sub

Merci
 

ChTi160

XLDnaute Barbatruc
Salut Olivier
boour le forum

a première vu il te suffit de remettre compteJ à 0 entre chaque ligne
comme celà
Code:
Sub couleurs()
Dim cell As Range
Range(A1).Select
For i = 9 To 48
    compteJ = 0
Range(Cells(i, 6), Cells(i, 11)).CurrentRegion.Select
Set MaZone = Range(Cells(i, 6), Cells(i, 11))

For Each cell In MaZone

If cell.Interior.ColorIndex = 6 Then compteJ = compteJ + 1

Next cell

Cells(i, 24).Select
ActiveCell = compteJ
Next i

End Sub
non testé
bonne fin de journée
 

Statistiques des forums

Discussions
312 211
Messages
2 086 300
Membres
103 173
dernier inscrit
Cerba95