Problème de Macro Excel

Alcip -  
pou pouille Messages postés 212 Statut Membre -
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!
Configuration: Windows 7 / Firefox 3.5.8

4 réponses

  1. tompols Messages postés 1273 Date d'inscription   Statut Contributeur Dernière intervention   460
     
    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
  2. Alcip
     
    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
  3. alcip
     
    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
  4. pou pouille Messages postés 212 Statut Membre 31
     
    bonjour,
    je pense que l'erreur viens de la synthaxe, il ne faut pas mettre de <"> devant la veriable lig
    Rows(lig).Select
    0