utilisation de 2 feuilles dans un meme classeur

masilia

XLDnaute Nouveau
Bonjour.voila.j'ai un petit soucis pour passer d'une feuille a une autre.

Dans une premiere feuille j'ai une plage de cellule(l1c1;l1000c100) dans laquelle chaque cellule a une couleur de fond bleu et la valeur represantent celle du bleu.voici la macro pour utiliser que j'ai ecris,

Sub feuille()
Dim c As Range
For Each c In Range(Cells(1, 1), Cells(1000, 100))

c.Interior.Color = RGB(0, 0, alea255) "alea255 renvoie un nombre entre 0 et 255"
c.Value = c.Interior.Color

Next c
End Sub


et dans la deuxieme feuille j'ai 3 colones.dans la premiere y est inscrit les nombres de 1 a 255.,dans la deuxieme y est inscrit le nombre que renvoie les nombres precedents,par exemple(rgb(0,0,183)=11993088 et dans la 3eme on a la nuance de bleu correspondant au nombres precedent.
voici la macro que j'utilise

Sub feuille2()
Dim c As Range
Dim i As Integer
For Each c In Range("CODAGE")
c.Value = c.Row - 2
Next c
For i = 2 To 257
Cells(i, 2).Value = RGB(0, 0, Cells(i, 1).Value)

Cells(i, 3).Interior.Color = Cells(i, 2).Value

Next i
End Sub

et je voudrait inscrire dans la 4eme colone de cette 2 eme feuille le nombre de cellule de la premiere feuille qui corespond au nombre de la 2eme colone de cette 2eme feuille. voiala ce que je n'arrive pa a faire si quelq'un pourrai m'aider, me donner des pistes ou m'expliquer comment faire.voila je vous en remerci d'avance
 

JNP

XLDnaute Barbatruc
Re : utilisation de 2 feuilles dans un meme classeur

:cool:Bonjour Masilia et bienvenue :),
Si tu passes par les valeurs des couleurs
Code:
=NB.SI(Feuil1!$A$1:$CV$1000;Feuil2!B2)
en D2 à glisser vers le bas.
Si tu veux travailler avec les couleurs, une petite fonction personnalisée
Code:
Function CompteCouleur(Plage As Range, cellule As Range) As Integer
Application.Volatile
If cellule.Count <> 1 Then
MsgBox "Vous ne devez pas sélectionner plus d'une cellule de référence !"
CompteCouleur = 0
Exit Function
End If
Dim Cel As Range
For Each Cel In Plage
If Cel.Interior.Color = cellule.Interior.Color Then CompteCouleur = CompteCouleur + 1
Next
End Function
avec
Code:
=CompteCouleur(Feuil1!$A$1:$CV$1000;Feuil2!C2)
en E2 à glisser vers le bas, mais j'espère que tu as du temps de libre pour attendre le résultat :p...
Bonne journée
 

masilia

XLDnaute Nouveau
Re : utilisation de 2 feuilles dans un meme classeur

merci a toi jnp pour avoir pris le temps de repondre.mais malheureusementce n'est pa ce que je recherche(certainement de ma fautedu al'incomprehensibilité du message).donc je vai mettre l'enoncer complet ca sera certainement plus comprehensible.Pour les 2 premieres question y a pa de soucis.c sur la troisiseme que ca coince.




Préparer une nouvelle feuille de calcul de nom!FeuilleBleu de la même façon que la feuille
Foret pour que toutes les cellules aient la forme de petits carrés de taille unique.
Écrire une macro feuilleBleu qui, colorie la plage L1C1:L1000C100 de la feuille de calcul
de nom!FeuilleBleu, en une mosaïque de bleu!:
• chaque cellule a un fond d’une couleur qui correspond à l’entier qui est le résultat d’un
appel de couleurBleuAlea!;
• chaque cellule a aussi la valeur correspondant à l’entier de sa couleur de fond.
Pour cette question pas de probleme.Voici c que j'ai ecris:

Sub feuilleBleu()
Dim c As Range
For Each c In Range(Cells(1, 1), Cells(6, 6))

c.Interior.Color = couleurBleuAlea
c.Value = c.Interior.Color

Next c
End Sub

Question 9
Dans une troisième feuille de calcul de nom NbreDiffBleu, écrire une macro codageBleu
qui!:
• dans la colonne 1, met les différentes valeurs de bleu (de 0 à 255)!;
• dans la colonne 2, met la valeur RGB correspondant au codage du bleu de la colonne 1!;
• dans la colonne 3, met la couleur, nuance de bleu correspondant à la valeur de la
colonne!1!et donc au codage RGB de la colonne 2;
Pour cette question pareil pas de soucis .voila ce que'ja'i ecri:


Sub codageBleu()
Dim c As Range
Dim i As Integer
For Each c In Range(Cells(2, 1), Cells(257, 1))
c.Value = c.Row - 2
Next c
For i = 2 To 257
Cells(i, 2).Value = RGB(0, 0, Cells(i, 1).Value)

Cells(i, 3).Interior.Color = Cells(i, 2).Value

Next i
End Sub


maintenant c'est la que ca pose probleme.voici l'enoncer:

Écrire une macro nbreDiffBleu qui!:
• remplit la quatrième colonne de la feuille de calcul NbreDiffBleu, avec le nombre de
cellules de la feuille FeuilleBleu qui ont la même valeur que le codage de la ligne, en
colonne 2!;
• vérifie que le nombre total de cellules obtenues en colonne 4 est bien de 100000!;
• donne un message indiquant!:
o le nombre que l’on devrait obtenir en moyenne pour chaque codage de bleu!;
o le codage du bleu qui apparaît le moins!;
o le codage du bleu qui apparaît le plus.


si quelqu'un aurai la gentillese de m'expliquer,et me dire comment faire.svp.
je seche completement.merci d'avance
 

JNP

XLDnaute Barbatruc
Re : utilisation de 2 feuilles dans un meme classeur

Re :),
Écrire une macro nbreDiffBleu qui!:
• remplit la quatrième colonne de la feuille de calcul NbreDiffBleu, avec le nombre de
cellules de la feuille FeuilleBleu qui ont la même valeur que le codage de la ligne, en
colonne 2!;
Utilises le NB.SI que je t'ai donné sous la forme ActiveCell.FormulaR1C1 = "=COUNTIF(Feuil1!R1C1:R1000C100,Feuil2!RC[-2])"
• vérifie que le nombre total de cellules obtenues en colonne 4 est bien de 100000!;
En D258 ActiveCell.FormulaR1C1 = "=SUM(R[-256]C:R[-1]C)"
• donne un message indiquant!:
o le nombre que l’on devrait obtenir en moyenne pour chaque codage de bleu!;
MsgBox Application.WorksheetFunction.Average(Range("D2: D257"))
o le codage du bleu qui apparaît le moins!;
La même avec Min
o le codage du bleu qui apparaît le plus.
La même avec Max
Mais je sais pas si c'est une très bonne chose de t'aider pour tes devoirs :p...
Bon WE :cool:
 

Statistiques des forums

Discussions
312 508
Messages
2 089 132
Membres
104 042
dernier inscrit
tropsy89