Problème de Macro Excel

Fermé
Alcip - 25 févr. 2010 à 16:15
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 - 26 févr. 2010 à 12:34
Bonjour,

j'ai un novice sur les macro excel

Pour faire simple j'ai un tableau 3 colonnes:
la troisieme colonne est une date (Di)

1 1 D1
1 1 D2
2 2 D2
2 3 D1
3 3 D4
3 3 D6
1 2 D4
3 1 D5

je cherche à afficher la ligne où la paire (3 3 par exemple) à la date la plus récente.
D6 étant la date la plus récente!

je sais afficher le max d'une colonne et d'en donner ensuite l'adresse mais pas de le faire en condition des 2 autres colonnes!

Merci de votre aide!
A voir également:

4 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
25 févr. 2010 à 16:34
Bonjour,
en reprenant ton exemple de tableau :
Sub couple_recent()
For i = 1 To 8
    If Range("A" & i).Value = Range("B" & i).Value Then
        If Range("C" & i).Value > d Then
            d = Range("C" & i).Value
            lig = i
        End If
    End If
Next i
MsgBox "Date la plus proche pour un couple en ligne " & lig
End Sub
2
en fait je me suis mal exprimé

je cherche à faire une fonction dont la variable est le couple (par ex 3 3 ou 3 2 ou 1 2)

qui donne la ligne à laquelle la date est la plus récente pour ce couple.

Je vais déjà chercher avec ça!

Merci!
0
J'avance un peu mais je suis bloqué pour l'affichage de la ligne que j'ai identifié

Sub prog_recent()

Dim Id_user As Integer
Dim Id_prog As Integer
Dim m As Integer

Sheets("Formulaire").Select

Id_user = Range("K6").Value
Id_prog = Range("K10").Value

Sheets("Portefeuille_Client").Select

m = Application.WorksheetFunction.Max(Range("A1:A1000"))

For i = 1 To m

    If Range("C" & i).Value = Id_user Then
    
     If Range("G" & i).Value = Id_prog Then
     
        If Range("B" & i).Value > d Then
        
            d = Range("B" & i).Value
            
            lig = i
            
        End If
        
    End If
    
End If

Next i


Rows("lig:lig").Select
Selection.Copy
  
Sheets("Formulaire").Select

Range("K4").Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Range("K4").Select

End Sub



au moment de Rows("lig:lig").select j'ai une erreur. Je cherche a sélectionner toute la ligne N°"lig" pour ensuite la coller ailleurs.

Vous auriez une solution?

merci!
0
pou pouille Messages postés 207 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 20 juillet 2012 31
26 févr. 2010 à 12:34
bonjour,
je pense que l'erreur viens de la synthaxe, il ne faut pas mettre de <"> devant la veriable lig
Rows(lig).Select
0