olivthill  | En VBA, on peut écrire une macro qui ressemblerait à :
  Code :
 - ' Recherche le début
 -   seuil_debut = 2
 -   col_no = 1 ' pour la colonne B (A = 1, B = 2)
 -   lg_no = 1  ' à partir de la première ligne
 -   Do While Not IsEmpty(Cells(lg_no, col_no))
 -      If (src_feuille.Cells(src_lg_no, src_col_no).Value = seuil_debut) Then
 -       Exit For
 -     End If
 -     lg_no = lg_no + 1
 -   Loop
 -   If (IsEmpty(Cells(lg_no, col_no)) Then
 -      Return ' Seuil non trouvé, on sort
 -   End If
 -   lg_debut_copie = lg_no;
 - ' Recherche la fin
 -   seuil_fin = 7
 -   lg_no = lg_debut_copie
 -   Do While Not IsEmpty(Cells(lg_no, col_no))
 -      If (src_feuille.Cells(src_lg_no, src_col_no).Value = seuil_fin) Then
 -       Exit For
 -     End If
 -     lg_no = lg_no + 1
 -   Loop
 -   If (IsEmpty(Cells(lg_no, col_no)) Then
 -      Return ' Seuil non trouvé, on sort
 -   End If
 -   lg_fin_copie = lg_no;
 - ' Copie
 -     src_col_no = 1 ' pour la colonne B (A = 1, B = 2)
 -     src_lg_no = lg_debut_copie  ' à partir de la première ligne
 -     dst_col_no = 3
 -     dst_lg_no = 1
 -     Do While (src_lg_no <= lg_fin_copie)
 -         Cells(dst_lg_no, dst_col_no).Value  = Cells(src_lg_no, src_col_no).Value
 -         Cells(dst_lg_no, dst_col_no + 1).Value  = Cells(src_lg_no, src_col_no + 1).Value
 -         dst_lg_no = dst_lg_no + 1
 -         src_lg_no = src_lg_no + 1
 -     Loop
 
  |  
    Message édité par olivthill le 24-05-2011 à 11:10:48
  |