extraire des valeur à partir d'un tableau

archi

XLDnaute Impliqué
Bjr et bonne année à tous,

Comme l'indique le sujet, J'ai un problème pour extraire des valeurs à partir d'un tableau
mais plutôt qu'un long discours, je vous joint un fichier explicatif.
merci d'avance
bye [file name=classement4_Archi_20060107170324.zip size=10848]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/classement4_Archi_20060107170324.zip[/file]
 

Pièces jointes

  • classement4_Archi_20060107170324.zip
    10.6 KB · Affichages: 51

Jacques87

XLDnaute Accro
Bonjour Archi

Tu avais apporté les modifs qui s'imposaient.
Si ça ne fonctionnait pas c'est parceque tu avais supprimé les 4 lignes du début dans lesquelles on définissait les variables. Je les avais mises en tête et déclarées comme variables privées pour pouvoir les utiliser dans tout le module et ne pas devoir les rappeler à chaque fois que j'utilisais une procédure différente de ce module.

Bonne journée [file name=Classement_Test_V2b_20060206104402.zip size=14804]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classement_Test_V2b_20060206104402.zip[/file]
 

archi

XLDnaute Impliqué
Merci Jacques

dernière chose, comment copier également la date des matchs concernés dans le code suivant:

Sub rappel_scores()

Dim I As Integer

For I = 16 To 61 ' à adapter
If Range('F' & I).Value = equipe1 Or Range('F' & I).Value = equipe2 Then
If Range('L' & I).Value = equipe2 Or Range('L' & I).Value = equipe1 Then
Range('F' & I & ':N' & I).Select
Selection.Copy
ligne = Range('F65530').End(xlUp).Row
Range('F' & ligne + 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End If
Next I

End Sub
 

Jacques87

XLDnaute Accro
et voila, il suffit de demander
C'est comme chez Casto

enfin j'espère que c'est bien cela que tu voulais [file name=Classement_Test_V2b_20060206135136.zip size=14907]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classement_Test_V2b_20060206135136.zip[/file]
 

archi

XLDnaute Impliqué
Slt Jacques,

excuse moi de te dérranger encore sur le même sujet, mais je viens de constater un petit problème sur la macro, concernant les équipes exempt !!

merci d'y jeter un oeil
bye [file name=classement_Test_V2c.zip size=16839]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/classement_Test_V2c.zip[/file]
 

Pièces jointes

  • classement_Test_V2c.zip
    16.4 KB · Affichages: 37

Jacques87

XLDnaute Accro
Bonjour Archi

C'est normal, comme je te le disais il faut adapter la macro en fonction de la situation :

For I = 5 To 12 ' il faudra adapter en fonction de la position du tableau

de 5 à 1é cela fait 8 clubs
S'il n'y en a que 6 alors la ligne devient

For I = 5 To 10 ' il faudra adapter en fonction de la position du tableau

cette adaptation est à faire dans la procédure (ou macro) recherche_2

Bonne journée
 

archi

XLDnaute Impliqué
j'ai oublier de te dire que j'ai plusieurs tableau pour cette macro, hors ces tableau sont composés soit de 8 équipes, de 7 équipe ou de 6 équipes, donc il faut que je crée un module par macro ??? il ne serait pas mieux de dire:
si rien dans les case (C6:C13)donc ne trier pas ??
 

Jacques87

XLDnaute Accro
Non Archi, il y a plus simple tu remplaces la ligne
For I = 5 To 12 ' il faudra adapter en fonction de la position du tableau
par
For I = 5 To Range('T65536').End(xlUp).Row
l'adaptation se fera automatiquement à condition que tu n'écrives rien d'autre dans la colonne 'T' en dessous de la dernière équipe, et c'est le cas actuellement
 

Jacques87

XLDnaute Accro
Voici la transformation apportée à la macro recherche_2 :

Sub recherche_2()

Dim I As Integer, L As Integer
Dim point As Integer
Application.ScreenUpdating = False
L = Range('T5:T12').Find('', LookIn:=xlValues).Row - 1

Range('U90:AE90').Select
Selection.AutoFill Destination:=Range('U64:AE90'), Type:=xlFillDefault
Range('U64:AE90').Select
Range('U64').Select

For I = 5 To L ' il faudra adapter en fonction de la position du tableau
point = Range('W' & I).Value
equipe1 = Range('T' & I).Value
For K = I + 1 To 12
If Range('W' & K).Value = point Then
equipe2 = Range('T' & K).Value
Call rappel_scores_2
End If
Next K
Next I

End Sub

je recherche la première cellule vide de la colonne 'T' entre T5 et T12, et je boucle jusqu'au numéro de la ligne qui la précède, donc la dernière équipe.
Je suppose qu'il n'y aura jamais plus de 8 équipes.
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 140
Membres
103 129
dernier inscrit
Atruc81500