probleme de programation

probleme de programation - VB/VBA/VBS - Programmation

Marsh Posté le 06-05-2008 à 11:55:04    

Bonjours a tous, voici mon problème:
 
j'ai sur une feuille qui se nomme Feuill1 plusieurs données inscrites dans des cellules qui contiennent :  
- le matricule, dans la colonne A et sur les lignes de 2 a 30
- les congés, dans la colonne B et sur les lignes de 2 a 30  
- et la date, dans la colonne C et sur les lignes de 2 a 30
 
J'aimerais recuperer sur une autre feuille qui se nomme feuill2 les matricules et les congés de la Feuill1 lorsque dans un userform qui est dans la feuill2, j'entre une certaine date.
En clair j'aimerais recuperer a partir de la feuill1, le matricule et les congés correspondant a une date entrer dans un userform de la feuill2 .
Il peut y avoir plusieurs identiques dans la feuill1 avec des maticules et congés différent
 
j'espere que vous répondrer vite et merci a tous d'avance.

Reply

Marsh Posté le 06-05-2008 à 11:55:04   

Reply

Marsh Posté le 06-05-2008 à 13:44:12    

Des feuilles.. Excel ? En VBA ou en formules ?
 
Voici un exemple en VBA

Recopier sur une autre feuille les ligne qui contiennent "terminé"
Sub Get_matricules()
'    Application.ScreenUpdating = False   ' pour aller plus vite on peut désactiver le refresh auto update
    Set src_feuille = ThisWorkbook.Sheets("Feuil1" )
    Set dst_feuille = ThisWorkbook.Sheets("Feuil2" )
    src_col_no = 1 ' pour la colonne A (A = 1, B = 2)
    src_lg_no = 2  ' à partir de la deuxième ligne
    dst_col_no = 1
    dst_lg_no = 2
    Do While (src_lg_no <= 30)
        dst_feuille.Cells(dst_lg_no, dst_col_no).Value _
         = src_feuille.Cells(src_lg_no, src_col_no - 1).Value
        dst_lg_no = dst_lg_no + 1
        src_lg_no = src_lg_no + 1
    Loop
End Sub


Il existe aussi la méthode Copy

Sheets("feuil2" ).Range("A2:A20" ).Copy Sheets("feuil2" ).Range("A2:A20" )  


Ou bien dans une cellule de la deuxième feuille on peut avoir une formule

=Feuil1!A2:A20

(Je n'ai pas testé ces deux dernières solutions)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed